1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-27 12:08:59 +02:00
openwrt-xburst/package/mac80211/patches/564-ath9k_optimize_interrupt_mitigation.patch
nbd d7bc8b2f4a mac80211/ath9k: some more performance improvements
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30866 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-10 12:59:40 +00:00

31 lines
1009 B
Diff

--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -237,21 +237,19 @@ static bool ar9003_hw_get_isr(struct ath
*masked = isr & ATH9K_INT_COMMON;
- if (ah->config.rx_intr_mitigation)
+ if (ah->config.rx_intr_mitigation) {
if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM))
*masked |= ATH9K_INT_RXLP;
-
- if (ah->config.tx_intr_mitigation)
- if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
- *masked |= ATH9K_INT_TX;
-
- if (isr & (AR_ISR_LP_RXOK | AR_ISR_RXERR))
+ } else if (isr & (AR_ISR_LP_RXOK | AR_ISR_RXERR))
*masked |= ATH9K_INT_RXLP;
if (isr & AR_ISR_HP_RXOK)
*masked |= ATH9K_INT_RXHP;
- if (isr & (AR_ISR_TXOK | AR_ISR_TXERR | AR_ISR_TXEOL)) {
+ if (ah->config.tx_intr_mitigation) {
+ if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
+ *masked |= ATH9K_INT_TX;
+ } else if (isr & (AR_ISR_TXOK | AR_ISR_TXERR | AR_ISR_TXEOL)) {
*masked |= ATH9K_INT_TX;
if (!(pCap->hw_caps & ATH9K_HW_CAP_RAC_SUPPORTED)) {