diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-10-08 09:49:57 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-11 12:35:44 -0500 |
commit | 07bb3623343d8060b6f68aa294e3ecb9391a82d4 (patch) | |
tree | 2a03c69dea0f757d1f95d06d3ebdb8831f2aed51 | |
parent | e4779966c769188b76ee699e0ab476030b2d2e6a (diff) |
ath9k: disable unnecessary PHY error reporting
commit ac06697c79bad09e44a8b1d52104014016fb90de upstream.
PHY errors relevant for ANI are always tracked by hardware counters, the
bits that allow them to pass through the rx filter are independent of that.
Enabling PHY errors in the rx filter often creates lots of useless DMA traffic
and might be responsible for some of the rx dma stop failure warnings.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ani.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 5 |
2 files changed, 1 insertions, 9 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ani.c b/drivers/net/wireless/ath/ath9k/ani.c index bfb6481f01f..4e4e7c3dcdd 100644 --- a/drivers/net/wireless/ath/ath9k/ani.c +++ b/drivers/net/wireless/ath/ath9k/ani.c | |||
@@ -502,9 +502,6 @@ static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning) | |||
502 | ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR, | 502 | ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR, |
503 | ATH9K_ANI_CCK_WEAK_SIG_THR); | 503 | ATH9K_ANI_CCK_WEAK_SIG_THR); |
504 | 504 | ||
505 | ath9k_hw_setrxfilter(ah, ath9k_hw_getrxfilter(ah) | | ||
506 | ATH9K_RX_FILTER_PHYERR); | ||
507 | |||
508 | ath9k_ani_restart(ah); | 505 | ath9k_ani_restart(ah); |
509 | return; | 506 | return; |
510 | } | 507 | } |
@@ -525,8 +522,6 @@ static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning) | |||
525 | ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, | 522 | ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, |
526 | aniState->firstepLevel); | 523 | aniState->firstepLevel); |
527 | 524 | ||
528 | ath9k_hw_setrxfilter(ah, ath9k_hw_getrxfilter(ah) & | ||
529 | ~ATH9K_RX_FILTER_PHYERR); | ||
530 | ath9k_ani_restart(ah); | 525 | ath9k_ani_restart(ah); |
531 | 526 | ||
532 | ENABLE_REGWRITE_BUFFER(ah); | 527 | ENABLE_REGWRITE_BUFFER(ah); |
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index 07e35e59c9e..3b5f9d6e3cb 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
@@ -423,12 +423,9 @@ void ath_rx_cleanup(struct ath_softc *sc) | |||
423 | 423 | ||
424 | u32 ath_calcrxfilter(struct ath_softc *sc) | 424 | u32 ath_calcrxfilter(struct ath_softc *sc) |
425 | { | 425 | { |
426 | #define RX_FILTER_PRESERVE (ATH9K_RX_FILTER_PHYERR | ATH9K_RX_FILTER_PHYRADAR) | ||
427 | |||
428 | u32 rfilt; | 426 | u32 rfilt; |
429 | 427 | ||
430 | rfilt = (ath9k_hw_getrxfilter(sc->sc_ah) & RX_FILTER_PRESERVE) | 428 | rfilt = ATH9K_RX_FILTER_UCAST | ATH9K_RX_FILTER_BCAST |
431 | | ATH9K_RX_FILTER_UCAST | ATH9K_RX_FILTER_BCAST | ||
432 | | ATH9K_RX_FILTER_MCAST; | 429 | | ATH9K_RX_FILTER_MCAST; |
433 | 430 | ||
434 | if (sc->rx.rxfilter & FIF_PROBE_REQ) | 431 | if (sc->rx.rxfilter & FIF_PROBE_REQ) |