aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Cardona <javier@cozybit.com>2009-08-20 22:12:07 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-28 14:40:24 -0400
commit5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb (patch)
treeaf16565f9e4dd6823662ad32f8125d68331553b9
parent9e03fdfd05e733e1136d431973625b174029c5e6 (diff)
ath9k: Add support FIF_OTHER_BSS filtering mode.
Support for FIF_OTHER_BSS was missing. This patch adds support for this filtering mode which in turn resolves a problem where mesh interfaces would not receive broadcast traffic. Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 7b62c220d5fd..52e62daad3ce 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -423,11 +423,12 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
423 if (sc->rx.rxfilter & FIF_PSPOLL) 423 if (sc->rx.rxfilter & FIF_PSPOLL)
424 rfilt |= ATH9K_RX_FILTER_PSPOLL; 424 rfilt |= ATH9K_RX_FILTER_PSPOLL;
425 425
426 if (sc->sec_wiphy) { 426 if (sc->sec_wiphy || (sc->rx.rxfilter & FIF_OTHER_BSS)) {
427 /* TODO: only needed if more than one BSSID is in use in 427 /* TODO: only needed if more than one BSSID is in use in
428 * station/adhoc mode */ 428 * station/adhoc mode */
429 /* TODO: for older chips, may need to add ATH9K_RX_FILTER_PROM 429 /* The following may also be needed for other older chips */
430 */ 430 if (sc->sc_ah->hw_version.macVersion == AR_SREV_VERSION_9160)
431 rfilt |= ATH9K_RX_FILTER_PROM;
431 rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL; 432 rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
432 } 433 }
433 434