diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2014-09-05 08:03:19 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-09-09 15:27:21 -0400 |
commit | ca529c9373bbcabf55a12e4225d625ee26fc8abb (patch) | |
tree | 8ac5c2ec22b319572a0c9916635b958b8d39451f /drivers/net/wireless/ath/ath9k/recv.c | |
parent | fce344309944c61d748eeef530b49764f90b05bb (diff) | |
download | lwn-ca529c9373bbcabf55a12e4225d625ee26fc8abb.tar.gz lwn-ca529c9373bbcabf55a12e4225d625ee26fc8abb.zip |
ath9k: Fix interface accounting
Currently, the interface count is maintained globally,
but this causes problems in RX filter calculation.
Make the interface count a per-channel-context variable
to fix this.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index 68e56d66e55a..957a877242b5 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -404,7 +404,7 @@ u32 ath_calcrxfilter(struct ath_softc *sc) rfilt |= ATH9K_RX_FILTER_CONTROL; if ((sc->sc_ah->opmode == NL80211_IFTYPE_STATION) && - (sc->nvifs <= 1) && + (sc->cur_chan->nvifs <= 1) && !(sc->cur_chan->rxfilter & FIF_BCN_PRBRESP_PROMISC)) rfilt |= ATH9K_RX_FILTER_MYBEACON; else @@ -417,7 +417,7 @@ u32 ath_calcrxfilter(struct ath_softc *sc) if (sc->cur_chandef.width != NL80211_CHAN_WIDTH_20_NOHT) rfilt |= ATH9K_RX_FILTER_COMP_BAR; - if (sc->nvifs > 1 || (sc->cur_chan->rxfilter & FIF_OTHER_BSS)) { + if (sc->cur_chan->nvifs > 1 || (sc->cur_chan->rxfilter & FIF_OTHER_BSS)) { /* This is needed for older chips */ if (sc->sc_ah->hw_version.macVersion <= AR_SREV_VERSION_9160) rfilt |= ATH9K_RX_FILTER_PROM; |