source: trunk/package/mac80211/patches/563-ath9k_fix_full_sleep_tx.patch @ 29133

Last change on this file since 29133 was 29133, checked in by nbd, 5 years ago

ath9k: do not put the hardware to full-sleep while tx is pending

File size: 809 bytes
  • drivers/net/wireless/ath/ath9k/main.c

    a b void ath9k_ps_restore(struct ath_softc * 
    118118        if (--sc->ps_usecount != 0) 
    119119                goto unlock; 
    120120 
    121         if (sc->ps_idle) 
     121        if (sc->ps_idle && !(sc->ps_flags & PS_WAIT_FOR_TX_ACK)) 
    122122                mode = ATH9K_PM_FULL_SLEEP; 
    123123        else if (sc->ps_enabled && 
    124124                 !(sc->ps_flags & (PS_WAIT_FOR_BEACON | 
  • drivers/net/wireless/ath/ath9k/xmit.c

    a b static void ath_tx_complete(struct ath_s 
    19831983                skb_pull(skb, padsize); 
    19841984        } 
    19851985 
    1986         if (sc->ps_flags & PS_WAIT_FOR_TX_ACK) { 
     1986        if ((sc->ps_flags & PS_WAIT_FOR_TX_ACK) && !txq->axq_depth) { 
    19871987                sc->ps_flags &= ~PS_WAIT_FOR_TX_ACK; 
    19881988                ath_dbg(common, ATH_DBG_PS, 
    19891989                        "Going back to sleep after having received TX status (0x%lx)\n", 
Note: See TracBrowser for help on using the repository browser.