mac80211: reduce cpu load by optimizing aggregation session timeout handling
[openwrt.git] / package / mac80211 / patches / 564-ath9k_optimize_interrupt_mitigation.patch
1 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
2 +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
3 @@ -237,21 +237,19 @@ static bool ar9003_hw_get_isr(struct ath
4
5 *masked = isr & ATH9K_INT_COMMON;
6
7 - if (ah->config.rx_intr_mitigation)
8 + if (ah->config.rx_intr_mitigation) {
9 if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM))
10 *masked |= ATH9K_INT_RXLP;
11 -
12 - if (ah->config.tx_intr_mitigation)
13 - if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
14 - *masked |= ATH9K_INT_TX;
15 -
16 - if (isr & (AR_ISR_LP_RXOK | AR_ISR_RXERR))
17 + } else if (isr & (AR_ISR_LP_RXOK | AR_ISR_RXERR))
18 *masked |= ATH9K_INT_RXLP;
19
20 if (isr & AR_ISR_HP_RXOK)
21 *masked |= ATH9K_INT_RXHP;
22
23 - if (isr & (AR_ISR_TXOK | AR_ISR_TXERR | AR_ISR_TXEOL)) {
24 + if (ah->config.tx_intr_mitigation) {
25 + if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
26 + *masked |= ATH9K_INT_TX;
27 + } else if (isr & (AR_ISR_TXOK | AR_ISR_TXERR | AR_ISR_TXEOL)) {
28 *masked |= ATH9K_INT_TX;
29
30 if (!(pCap->hw_caps & ATH9K_HW_CAP_RAC_SUPPORTED)) {
This page took 0.042214 seconds and 5 git commands to generate.