summaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches/309-micfail_detect.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-02 17:04:43 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-06-02 17:04:43 +0000
commit6415bc7abd7037166c9fb75a9b5f91542c2f5566 (patch)
tree2835b4d701c6eb241eaa720b83632da34af4f73a /package/madwifi/patches/309-micfail_detect.patch
parente251aa7b8df80392a6294afc1b6a55b9f1afb19f (diff)
fixes for wpa/wpa2
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7453 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/patches/309-micfail_detect.patch')
-rw-r--r--package/madwifi/patches/309-micfail_detect.patch9
1 files changed, 8 insertions, 1 deletions
diff --git a/package/madwifi/patches/309-micfail_detect.patch b/package/madwifi/patches/309-micfail_detect.patch
index a51915ef7..ff3be903c 100644
--- a/package/madwifi/patches/309-micfail_detect.patch
+++ b/package/madwifi/patches/309-micfail_detect.patch
@@ -47,12 +47,19 @@ diff -ur madwifi.old/ath/if_ath.c madwifi.dev/ath/if_ath.c
dev_kfree_skb(skb);
skb = NULL;
goto rx_next;
-@@ -5806,6 +5790,20 @@
+@@ -5806,6 +5790,27 @@
sc->sc_hwmap[rs->rs_rate].ieeerate,
rs->rs_rssi);
+ /* MIC failure. Drop the packet in any case */
+ if (mic_fail) {
++ /* Drop control frames which are reported with mic error */
++ if ((((struct ieee80211_frame *)skb->data)->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_CTL) {
++ dev_kfree_skb(skb);
++ skb = NULL;
++ mic_fail = 0;
++ goto rx_next;
++ }
+ ni = ieee80211_find_rxnode(ic,
+ (const struct ieee80211_frame_min *) skb->data);
+ if (ni != NULL) {