aboutsummaryrefslogtreecommitdiffstats
path: root/package/madwifi
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-05-08 12:31:28 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-05-08 12:31:28 +0000
commitcadab984f866bb119ae268962809af6a613f9d8b (patch)
tree39f75e312d81008f0f38d9f2ee03a0b99703b3a1 /package/madwifi
parent1428bca7f52b72ff6d8e87835222bcffd67e53f8 (diff)
downloadupstream-cadab984f866bb119ae268962809af6a613f9d8b.tar.gz
upstream-cadab984f866bb119ae268962809af6a613f9d8b.tar.bz2
upstream-cadab984f866bb119ae268962809af6a613f9d8b.zip
madwifi: fix selection of phy errors in the rx filter
SVN-Revision: 15707
Diffstat (limited to 'package/madwifi')
-rw-r--r--package/madwifi/patches/423-phyerr_handling.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/madwifi/patches/423-phyerr_handling.patch b/package/madwifi/patches/423-phyerr_handling.patch
new file mode 100644
index 0000000000..b5059af625
--- /dev/null
+++ b/package/madwifi/patches/423-phyerr_handling.patch
@@ -0,0 +1,28 @@
+--- a/ath/if_ath.c
++++ b/ath/if_ath.c
+@@ -4390,13 +4390,12 @@ ath_key_update_end(struct ieee80211vap *
+ static u_int32_t
+ ath_calcrxfilter(struct ath_softc *sc)
+ {
+-#define RX_FILTER_PRESERVE (HAL_RX_FILTER_PHYERR | HAL_RX_FILTER_PHYRADAR)
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct net_device *dev = ic->ic_dev;
+ struct ath_hal *ah = sc->sc_ah;
+ u_int32_t rfilt;
+
+- rfilt = (ath_hal_getrxfilter(ah) & RX_FILTER_PRESERVE) |
++ rfilt = ath_hal_getrxfilter(ah) |
+ HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST |
+ HAL_RX_FILTER_MCAST;
+ if (ic->ic_opmode != IEEE80211_M_STA)
+@@ -4415,9 +4414,8 @@ ath_calcrxfilter(struct ath_softc *sc)
+ if (sc->sc_hasintmit && !sc->sc_needmib && ath_hal_getintmit(ah, NULL))
+ rfilt |= HAL_RX_FILTER_PHYERR;
+ if (sc->sc_curchan.privFlags & CHANNEL_DFS)
+- rfilt |= (HAL_RX_FILTER_PHYERR | HAL_RX_FILTER_PHYRADAR);
++ rfilt |= HAL_RX_FILTER_PHYRADAR;
+ return rfilt;
+-#undef RX_FILTER_PRESERVE
+ }
+
+ /*