Subject: Re: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x02000020 DMADBG_7=0x00008040

From: Felix Fietkau <[email-masked]>
Date: Fri, 06 Apr 2012 18:56:19 +0200

On 2012-04-06 6:40 PM, Justin P. Mattock wrote:
> On 03/26/2012 07:17 PM, Sujith Manoharan wrote:
>> Justin P. Mattock wrote:
>>> I would have to say this patch above does get rid of this crash I was
>>> seeing. as a quick test I simply connect to a WPA network, then connect
>>> to an open network going back and forth triggers this freeze for me
>>> after applying this I am able to toggle back and forth without a freeze.
>>
>> Thanks for verifying.
>>
>> Sujith
>>
> 
> 
>  From going through the warning message I was playing around and am 
> looking at: AH_UNPLUGGED .. seems if I remove this from the code I have 
> not seen this warning message.
> is there something wrong with AH_UNPLUGGED = 0x2 ?
> is this the wrong address(0x2)?
> 
> the patch that I was using is:
> 
>  From ea8a7d6ecf8b0706f3f0521cd22cc359b20b9373 Mon Sep 17 00:00:00 2001
> From: "Justin P. Mattock" <[email-masked]>
> Date: Sun, 25 Mar 2012 21:53:31 -0700
> Subject: [PATCH] ath_test
> 
> Signed-off-by: Justin P. Mattock <[email-masked]>
> 
> ---
>   drivers/net/wireless/ath/ath9k/recv.c |    3 +--
>   1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath9k/recv.c 
> b/drivers/net/wireless/ath/ath9k/recv.c
> index f4ae3ba..d887cee 100644
> --- a/drivers/net/wireless/ath/ath9k/recv.c
> +++ b/drivers/net/wireless/ath/ath9k/recv.c
> @@ -523,8 +523,7 @@ bool ath_stoprecv(struct ath_softc *sc)
>   		sc->rx.rxlink = NULL;
>   	spin_unlock_bh(&sc->rx.rxbuflock);
> 
> -	if (!(ah->ah_flags & AH_UNPLUGGED) &&
> -	    unlikely(!stopped)) {
> +	if (!(ah->ah_flags) && unlikely(!stopped)) {
That patch is completely messed up - before showing the warning, it
checks if ah_flags is set to 0, which will never happen with most
devices. You're simply making the warning impossible to trigger.

- Felix