Michal Kazior <michal.kaz...@tieto.com> writes: > On 30/04/13 09:58, Kalle Valo wrote: >> Michal Kazior <michal.kaz...@tieto.com> writes: >> >>> We already do decryption and all crypto >>> verification in HW. mac80211 tries to verify CCMP >>> for fragmented rx and fails without this patch. >>> >>> This fixes fragmented rx on CCMP networks. >>> >>> Signed-off-by: Michal Kazior <michal.kaz...@tieto.com> >> >> [...] >> >>> - if (info->encrypt_type != HTT_RX_MPDU_ENCRYPT_NONE) >>> + if (info->encrypt_type != HTT_RX_MPDU_ENCRYPT_NONE) { >>> status->flag |= RX_FLAG_DECRYPTED | RX_FLAG_IV_STRIPPED | >>> RX_FLAG_MMIC_STRIPPED; >>> + hdr->frame_control = __cpu_to_le16( >>> + __le16_to_cpu(hdr->frame_control) & >>> + ~IEEE80211_FCTL_PROTECTED); >>> + } >> >> This looks ugly. Is this a bug in mac80211 which we just workaround in >> ath10k? Isn't there any other way to fix this? At least this deserves a >> big comment in the code to explain why we are doing this. >> >> I'll apply this anyway, but we need to discuss more about this. > > I'm not quite sure whether this is an issue in mac80211 or we should > be actually stripping the protected flag. b43 driver seems to strip > the flag as well.
If b43 does the same when I'm happy with this. Just send a new patch adding a comment to the code as well. > mac80211 seems to want to do some extra checks for CCMP in fragmented > rx data path. Perhaps it shouldn't? IMHO it shouldn't, but I'm no security expert. Maybe you should ask in the linux-wireless list? -- Kalle Valo _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel