Changeset 40802


Ignore:
Timestamp:
2014-05-20T13:09:47+02:00 (4 years ago)
Author:
nbd
Message:

ath9k: revert a faulty rx path fix

Signed-off-by: Felix Fietkau <nbd@…>

Location:
trunk/package/kernel/mac80211/patches
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/mac80211/patches/300-pending_work.patch

    r40800 r40802  
    1 commit 230ab8c1880266c9cfceac962e2d48309dea79a7 
    2 Author: Felix Fietkau <nbd@openwrt.org> 
    3 Date:   Mon May 19 21:48:56 2014 +0200 
    4  
    5     ath9k: re-schedule rx processing after budget exceeded 
    6      
    7     Should improve rx stability under load 
    8      
    9     Signed-off-by: Felix Fietkau <nbd@openwrt.org> 
    10  
    111commit ff9655bebd25d35ab13c2515a029723b69949720 
    122Author: Felix Fietkau <nbd@openwrt.org> 
     
    43294319                 * using are actually part of this combination. If they 
    43304320                 * aren't then we can't use this combination and have 
    4331 --- a/drivers/net/wireless/ath/ath9k/main.c 
    4332 +++ b/drivers/net/wireless/ath/ath9k/main.c 
    4333 @@ -444,6 +444,8 @@ void ath9k_tasklet(unsigned long data) 
    4334         ath9k_ps_wakeup(sc); 
    4335         spin_lock(&sc->sc_pcu_lock); 
    4336   
    4337 +       sc->intrstatus = 0; 
    4338 + 
    4339         if (status & ATH9K_INT_FATAL) { 
    4340                 type = RESET_TYPE_FATAL_INT; 
    4341                 ath9k_queue_reset(sc, type); 
    4342 @@ -512,10 +514,12 @@ void ath9k_tasklet(unsigned long data) 
    4343         if (status & rxmask) { 
    4344                 /* Check for high priority Rx first */ 
    4345                 if ((ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) && 
    4346 -                   (status & ATH9K_INT_RXHP)) 
    4347 -                       ath_rx_tasklet(sc, 0, true); 
    4348 +                   (status & ATH9K_INT_RXHP) && 
    4349 +                   ath_rx_tasklet(sc, 0, true)) 
    4350 +                       sc->intrstatus |= ATH9K_INT_RXHP; 
    4351   
    4352 -               ath_rx_tasklet(sc, 0, false); 
    4353 +               if (ath_rx_tasklet(sc, 0, false)) 
    4354 +                       sc->intrstatus |= ATH9K_INT_RXLP; 
    4355         } 
    4356   
    4357         if (status & ATH9K_INT_TX) { 
    4358 @@ -543,6 +547,9 @@ void ath9k_tasklet(unsigned long data) 
    4359   
    4360         /* re-enable hardware interrupt */ 
    4361         ath9k_hw_enable_interrupts(ah); 
    4362 +       if (sc->intrstatus) 
    4363 +               tasklet_schedule(&sc->intr_tq); 
    4364 + 
    4365  out: 
    4366         spin_unlock(&sc->sc_pcu_lock); 
    4367         ath9k_ps_restore(sc); 
    4368 @@ -609,7 +616,7 @@ irqreturn_t ath_isr(int irq, void *dev) 
    4369                 return IRQ_NONE; 
    4370   
    4371         /* Cache the status */ 
    4372 -       sc->intrstatus = status; 
    4373 +       sc->intrstatus |= status; 
    4374   
    4375         if (status & SCHED_INTR) 
    4376                 sched = true; 
    43774321--- a/drivers/net/wireless/ath/ath9k/recv.c 
    43784322+++ b/drivers/net/wireless/ath/ath9k/recv.c 
     
    44384382  
    44394383                if (!budget--) 
    4440 @@ -1135,5 +1137,5 @@ requeue: 
    4441                 ath9k_hw_set_interrupts(ah); 
    4442         } 
    4443   
    4444 -       return 0; 
    4445 +       return !budget; 
    4446  } 
  • trunk/package/kernel/mac80211/patches/521-ath9k_cur_txpower.patch

    r40800 r40802  
    1515 out: 
    1616        spin_unlock_bh(&sc->sc_pcu_lock); 
    17 @@ -1411,6 +1415,7 @@ static int ath9k_config(struct ieee80211 
     17@@ -1404,6 +1408,7 @@ static int ath9k_config(struct ieee80211 
    1818                sc->config.txpowlimit = 2 * conf->power_level; 
    1919                ath9k_cmn_update_txpow(ah, sc->curtxpow, 
  • trunk/package/kernel/mac80211/patches/523-ath9k_use_configured_antenna_gain.patch

    r40800 r40802  
    2222--- a/drivers/net/wireless/ath/ath9k/main.c 
    2323+++ b/drivers/net/wireless/ath/ath9k/main.c 
    24 @@ -1411,7 +1411,10 @@ static int ath9k_config(struct ieee80211 
     24@@ -1404,7 +1404,10 @@ static int ath9k_config(struct ieee80211 
    2525        } 
    2626  
  • trunk/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch

    r40800 r40802  
    126126--- a/drivers/net/wireless/ath/ath9k/main.c 
    127127+++ b/drivers/net/wireless/ath/ath9k/main.c 
    128 @@ -612,6 +612,11 @@ irqreturn_t ath_isr(int irq, void *dev) 
     128@@ -605,6 +605,11 @@ irqreturn_t ath_isr(int irq, void *dev) 
    129129        ath9k_debug_sync_cause(sc, sync_cause); 
    130130        status &= ah->imask;    /* discard unasked-for bits */ 
Note: See TracChangeset for help on using the changeset viewer.