lkml.org 
[lkml]   [2015]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 20/89] ath9k: fix DMA stop sequence for AR9003+
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Felix Fietkau <nbd@openwrt.org>

    commit 300f77c08ded96d33f492aaa02549103852f0c12 upstream.

    AR93xx and newer needs to stop rx before tx to avoid getting the DMA
    engine or MAC into a stuck state.
    This should reduce/fix the occurence of "Failed to stop Tx DMA" logspam.

    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/wireless/ath/ath9k/main.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    --- a/drivers/net/wireless/ath/ath9k/main.c
    +++ b/drivers/net/wireless/ath/ath9k/main.c
    @@ -195,11 +195,13 @@ static bool ath_prepare_reset(struct ath
    ath9k_debug_samp_bb_mac(sc);
    ath9k_hw_disable_interrupts(ah);

    - if (!ath_drain_all_txq(sc))
    - ret = false;
    -
    - if (!ath_stoprecv(sc))
    - ret = false;
    + if (AR_SREV_9300_20_OR_LATER(ah)) {
    + ret &= ath_stoprecv(sc);
    + ret &= ath_drain_all_txq(sc);
    + } else {
    + ret &= ath_drain_all_txq(sc);
    + ret &= ath_stoprecv(sc);
    + }

    return ret;
    }



    \
     
     \ /
      Last update: 2015-07-31 22:41    [W:4.155 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site