diff options
author | Miaoqing Pan <miaoqing@qca.qualcomm.com> | 2015-08-20 09:21:38 +0800 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2015-12-11 14:08:57 +0200 |
commit | f0b2c30a20299083665f3f14870ff5ce631d32ef (patch) | |
tree | f4cac11ba534f11321d7c9398cb9f64672bf729c /drivers/net/wireless/ath/ath9k/recv.c | |
parent | efc2b2b50c92c72916608b0e7d74651471fe5dd7 (diff) | |
download | lwn-f0b2c30a20299083665f3f14870ff5ce631d32ef.tar.gz lwn-f0b2c30a20299083665f3f14870ff5ce631d32ef.zip |
ath9k: fix AR_RX_FILTER for ar9462/ar9565 when rx stopped
When rx stopped, AR_RX_FILTER should be cleared, but in
ath9k_hw_setrxfilter(), ATH9K_RX_FILTER_CONTROL_WRAPPER will always
be set for ar9462/ar9565.
Fix this by moving the code in ath9k_hw_setrxfilter() to
ath_calcrxfilter().
Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index 994daf6c6297..32160fca876a 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c @@ -424,6 +424,9 @@ u32 ath_calcrxfilter(struct ath_softc *sc) AR_SREV_9561(sc->sc_ah)) rfilt |= ATH9K_RX_FILTER_4ADDRESS; + if (AR_SREV_9462(sc->sc_ah) || AR_SREV_9565(sc->sc_ah)) + rfilt |= ATH9K_RX_FILTER_CONTROL_WRAPPER; + if (ath9k_is_chanctx_enabled() && test_bit(ATH_OP_SCANNING, &common->op_flags)) rfilt |= ATH9K_RX_FILTER_BEACON; |