diff options
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/rx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index d5ce5d3649f3..f5caa1a016ee 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -522,6 +522,9 @@ ieee80211_rx_h_decrypt(struct ieee80211_txrx_data *rx) | |||
522 | ieee80211_wep_is_weak_iv(rx->skb, rx->key)) | 522 | ieee80211_wep_is_weak_iv(rx->skb, rx->key)) |
523 | rx->sta->wep_weak_iv_count++; | 523 | rx->sta->wep_weak_iv_count++; |
524 | 524 | ||
525 | /* either the frame will be decrypted or dropped */ | ||
526 | rx->u.rx.status->flag |= RX_FLAG_DECRYPTED; | ||
527 | |||
525 | switch (rx->key->conf.alg) { | 528 | switch (rx->key->conf.alg) { |
526 | case ALG_WEP: | 529 | case ALG_WEP: |
527 | return ieee80211_crypto_wep_decrypt(rx); | 530 | return ieee80211_crypto_wep_decrypt(rx); |
@@ -993,9 +996,8 @@ ieee80211_rx_h_drop_unencrypted(struct ieee80211_txrx_data *rx) | |||
993 | if (unlikely(!(rx->fc & IEEE80211_FCTL_PROTECTED) && | 996 | if (unlikely(!(rx->fc & IEEE80211_FCTL_PROTECTED) && |
994 | (rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA && | 997 | (rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA && |
995 | (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_NULLFUNC && | 998 | (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_NULLFUNC && |
996 | (rx->key || rx->sdata->drop_unencrypted) && | 999 | rx->sdata->drop_unencrypted && |
997 | (rx->sdata->eapol == 0 || | 1000 | (rx->sdata->eapol == 0 || !ieee80211_is_eapol(rx->skb)))) { |
998 | !ieee80211_is_eapol(rx->skb)))) { | ||
999 | if (net_ratelimit()) | 1001 | if (net_ratelimit()) |
1000 | printk(KERN_DEBUG "%s: RX non-WEP frame, but expected " | 1002 | printk(KERN_DEBUG "%s: RX non-WEP frame, but expected " |
1001 | "encryption\n", rx->dev->name); | 1003 | "encryption\n", rx->dev->name); |