ath9k: fix rx filtering for older chipsets, helps with multi-bssid and mesh mode
authorFelix Fietkau <nbd@openwrt.org>
Tue, 25 Sep 2012 16:17:18 +0000 (16:17 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 25 Sep 2012 16:17:18 +0000 (16:17 +0000)
SVN-Revision: 33550

package/mac80211/patches/300-pending_work.patch

index 183a86221b4e60e9ec1f06cdac290cdb5438e02a..51383a667fa43c168babd60242f12a0fb22ed42f 100644 (file)
  }
  
  static DECLARE_WORK(reg_regdb_work, reg_regdb_search);
  }
  
  static DECLARE_WORK(reg_regdb_work, reg_regdb_search);
+--- a/drivers/net/wireless/ath/ath9k/recv.c
++++ b/drivers/net/wireless/ath/ath9k/recv.c
+@@ -424,8 +424,8 @@ u32 ath_calcrxfilter(struct ath_softc *s
+               rfilt |= ATH9K_RX_FILTER_COMP_BAR;
+       if (sc->nvifs > 1 || (sc->rx.rxfilter & FIF_OTHER_BSS)) {
+-              /* The following may also be needed for other older chips */
+-              if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160)
++              /* This is needed for older chips */
++              if (sc->sc_ah->hw_version.macVersion <= AR_SREV_VERSION_9160)
+                       rfilt |= ATH9K_RX_FILTER_PROM;
+               rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
+       }