[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD2nsn2b9yVrX16m4Pc0F96PHF09ySv8ncY8Qnr7_9CC8hrbtA@mail.gmail.com>
Date: Tue, 20 Mar 2012 13:14:40 +0530
From: Mohammed Shafi <shafi.wireless@...il.com>
To: "Justin P. Mattock" <justinmattock@...il.com>
Cc: Linux-wireless <linux-wireless@...r.kernel.org>,
Felix Fietkau <nbd@...nwrt.org>, linux-kernel@...r.kernel.org,
Linux-netdev <netdev@...r.kernel.org>
Subject: Re: ath: DMA failed to stop in 10 ms AR_CR=0x00000024
AR_DIAG_SW=0x02000020 DMADBG_7=0x00008040
> /home/kernel/linux-next/drivers/net/wireless/ath/ath9k/ath9k.o...done.
> (gdb) l *(ath_tx_start+0x284)
> 0xcad4 is in ath_tx_start (drivers/net/wireless/ath/ath9k/xmit.c:1878).
> 1873 ieee80211_is_data_qos(hdr->frame_control)) {
> 1874 tidno = ieee80211_get_qos_ctl(hdr)[0] &
> 1875 IEEE80211_QOS_CTL_TID_MASK;
> 1876 tid = ATH_AN_2_TID(txctl->an, tidno);
> 1877
> 1878 WARN_ON(tid->ac->txq != txctl->txq);
> 1879 }
> 1880
> 1881 if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && tid) {
> 1882 /*
> (gdb
please check with the attached debug patch if tid is 'NULL'
its my theory that tid is not initialized in ath_tx_node_init just after resume.
during suspend ath9k_sta_remove may be called
ieee80211_suspend -> drv_sta_state ->
drv_sta_remove->ath9k_sta_remove->ath_node_detach->ath_tx_node_cleanup
during resume
ieee80211_resume ->
ieee80211_reconfig->drv_sta_state->ath9k_sta_add->ath_node_attach->ath_tx_node_init
now sta.ht_cap.ht_supported should be true. it will be set to true in
assoc_sucess path and then sta_add is called.
let me see if i had missed something or my analysis itself is wrong.
>
--
thanks,
shafi
View attachment "debug-panic.patch" of type "text/x-diff" (493 bytes)
Powered by blists - more mailing lists