This is a note to let you know that I've just added the patch titled

    ath9k: fix timeout on stopping rx dma

to the 2.6.36-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ath9k-fix-timeout-on-stopping-rx-dma.patch
and it can be found in the queue-2.6.36 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From d47844a014fada1a788719f6426bc7044f2a0fd8 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <[email protected]>
Date: Sat, 20 Nov 2010 03:08:47 +0100
Subject: ath9k: fix timeout on stopping rx dma

From: Felix Fietkau <[email protected]>

commit d47844a014fada1a788719f6426bc7044f2a0fd8 upstream.

It seems that using ath9k_hw_stoppcurecv to stop rx dma is not enough.
When it's time to stop DMA, the PCU is still busy, so the rx enable
bit never clears.
Using ath9k_hw_abortpcurecv helps with getting rx stopped much faster,
with this change, I cannot reproduce the rx stop related WARN_ON anymore.

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/net/wireless/ath/ath9k/recv.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -508,7 +508,7 @@ bool ath_stoprecv(struct ath_softc *sc)
        bool stopped;
 
        spin_lock_bh(&sc->rx.rxbuflock);
-       ath9k_hw_stoppcurecv(ah);
+       ath9k_hw_abortpcurecv(ah);
        ath9k_hw_setrxfilter(ah, 0);
        stopped = ath9k_hw_stopdmarecv(ah);
 


Patches currently in stable-queue which might be from [email protected] are

queue-2.6.36/mac80211-minstrel_ht-a-mpdu-fix.patch
queue-2.6.36/ath9k_hw-handle-rx-key-miss.patch
queue-2.6.36/ath9k-clean-up-fix-aggregation-session-flush.patch
queue-2.6.36/ath9k-fix-channel-flag-regd-issues-with-multiple-cards.patch
queue-2.6.36/ath9k-resume-aggregation-immediately-after-a-hardware-reset.patch
queue-2.6.36/ath9k-built-in-rate-control-a-mpdu-fix.patch
queue-2.6.36/ath9k-fix-tx-aggregation-flush-on-ar9003.patch
queue-2.6.36/ath9k-fix-an-aggregation-start-related-race-condition.patch
queue-2.6.36/ath9k-fix-spurious-mic-failure-reports.patch
queue-2.6.36/ath9k-fix-timeout-on-stopping-rx-dma.patch
queue-2.6.36/ath9k-a-mpdu-rate-control-info-fix.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to