Thread (32 messages) 32 messages, 4 authors, 2012-04-06

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

From: Mohammed Shafi <hidden>
Date: 2012-03-20 07:44:43
Also in: lkml, netdev

/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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help