madwifi: fix selection of phy errors in the rx filter
authorFelix Fietkau <nbd@openwrt.org>
Fri, 8 May 2009 12:31:28 +0000 (12:31 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 8 May 2009 12:31:28 +0000 (12:31 +0000)
SVN-Revision: 15707

package/madwifi/patches/423-phyerr_handling.patch [new file with mode: 0644]

diff --git a/package/madwifi/patches/423-phyerr_handling.patch b/package/madwifi/patches/423-phyerr_handling.patch
new file mode 100644 (file)
index 0000000..b5059af
--- /dev/null
@@ -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
+ }
+ /*