From 6415bc7abd7037166c9fb75a9b5f91542c2f5566 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 2 Jun 2007 17:04:43 +0000 Subject: fixes for wpa/wpa2 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7453 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/madwifi/patches/309-micfail_detect.patch | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'package/madwifi/patches/309-micfail_detect.patch') 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) { -- cgit v1.2.3