> @@ -499,11 +499,11 @@ void b43legacy_rx(struct b43legacy_wldev *dev, > > if (dev->key[keyidx].algorithm != B43legacy_SEC_ALGO_NONE) { > /* Remove PROTECTED flag to mark it as decrypted. */ > - B43legacy_WARN_ON(!(fctl & IEEE80211_FCTL_PROTECTED)); > - fctl &= ~IEEE80211_FCTL_PROTECTED; > - wlhdr->frame_control = cpu_to_le16(fctl); > + B43legacy_WARN_ON(!ieee80211_has_protected(fctl)); > + fctl &= ~cpu_to_le16(IEEE80211_FCTL_PROTECTED); > + wlhdr->frame_control = fctl; > > - wlhdr_len = ieee80211_get_hdrlen(fctl); > + wlhdr_len = ieee80211_hdrlen(fctl); > if (unlikely(skb->len < (wlhdr_len + 3))) { > b43legacydbg(dev->wl, "RX: Packet size" > " underrun3\n"); All this crypto code in b43legacy is totally bogus anyway, just kick it out :) johannes
Attachment:
signature.asc
Description: This is a digitally signed message part