--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c @@ -240,21 +240,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)) {