Bug 27392
Summary: | ath: Failed to stop TX DMA in 100 msec after killing last frame | ||
---|---|---|---|
Product: | Drivers | Reporter: | Cristian Aravena Romero (caravena) |
Component: | network-wireless | Assignee: | drivers_network-wireless (drivers_network-wireless) |
Status: | ASSIGNED --- | ||
Severity: | normal | CC: | achterin, alan, ath9k-devel, badihi, bjlockie, bjo, caravena, clemens-john, eddie.dunn, felipe.lessa, james, jd1008, kernel, lcpak, linville, nbd, pontillo, schlittchen, shafi.wireless, vasanth |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugs.launchpad.net/linux/+bug/736171 | ||
Kernel Version: | 3.11 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
dmesg 2.6.38-rc1
lspci -vvnn dmesg 2.6.38-rc2 dmesg 2.6.38-rc3 ath9k-Fix-race-in-starting-stopping-DMA dmesg 2.6.38-rc7 dmesg 2.6.38.2 diff -r -u kernel-2.6.37/linux-2.6.37.6/drivers/net/wireless/ath kernel-2.6.38/linux-2.6.38.4/drivers/net/wireless/ath | tee 2.6.37.6_vs_2.6.38.4-ath.diff |
Created attachment 44822 [details]
lspci -vvnn
(In reply to comment #0) > Created an attachment (id=44812) [details] > dmesg 2.6.38-rc1 > > Message in dmesg: > > [ 22.308381] ath: Failed to stop TX DMA in 100 msec after killing last > frame > [ 22.308447] ath: Failed to stop TX DMA! Cristian what did you do get that message(doing some torrent thing?) Removed the card or something? (In reply to comment #1) > Created an attachment (id=44822) [details] > lspci -vvnn (In reply to comment #0) > Created an attachment (id=44812) [details] > dmesg 2.6.38-rc1 > > Message in dmesg: > > [ 22.308381] ath: Failed to stop TX DMA in 100 msec after killing last > frame > [ 22.308447] ath: Failed to stop TX DMA! Cristian can you get the dmesg of sudo modprobe ath9k debug=0x82 (ATH_DBG_XMIT | ATH_DBG_QUEUE) (In reply to comment #2) [...] > Cristian what did you do get that message(doing some torrent thing?) > Removed the card or something? I have not done anything abnormal Only download files with transmission, work with empathy and see my mail on gmail (Chromium) (In reply to comment #3) [...] > Cristian can you get the dmesg of sudo modprobe ath9k debug=0x82 > (ATH_DBG_XMIT | ATH_DBG_QUEUE) 1) $sudo reboot 2) $sudo modprobe ath9k debug=0x82 3) see demesg? (In reply to comment #5) > (In reply to comment #3) > > [...] > > > > Cristian can you get the dmesg of sudo modprobe ath9k debug=0x82 > > (ATH_DBG_XMIT | ATH_DBG_QUEUE) > > 1) $sudo reboot > 2) $sudo modprobe ath9k debug=0x82 > 3) see demesg? yes and also when you do the transmission Created attachment 45682 [details]
dmesg 2.6.38-rc2
Comment on attachment 45682 [details]
dmesg 2.6.38-rc2
[458228.048399] ath: Failed to stop TX DMA in 100 msec after killing last frame
[458228.048466] ath: Failed to stop TX DMA!
(In reply to comment #8) > (From update of attachment 45682 [details]) > [458228.048399] ath: Failed to stop TX DMA in 100 msec after killing last > frame > [458228.048466] ath: Failed to stop TX DMA! Thanks we will look into it. I have the same problem. Symptoms are that the laptop (Sony Vaio VPC-2y) suddenly disconnects from the network. Takes a while and network connection is up again (with below in kern.log). Sometimes the connection isnt brought up and a reboot must be initiated. This happens at random occations. the laptop (my GF's laptop) is used almost only for surfing the web so X/Firefox is more or less the only active applications. Jan 30 06:49:10 barbara kernel: wlan0: deauthenticating from 00:18:39:ce:ff:a9 by local choice (reason=3) Jan 30 06:49:10 barbara kernel: cfg80211: Calling CRDA to update world regulatory domain Jan 30 06:49:11 barbara kernel: wlan0: authenticate with 00:18:39:ce:ff:a9 (try 1) Jan 30 06:49:11 barbara kernel: wlan0: authenticated Jan 30 06:49:11 barbara kernel: wlan0: associate with 00:18:39:ce:ff:a9 (try 1) Jan 30 06:49:11 barbara kernel: wlan0: RX AssocResp from 00:18:39:ce:ff:a9 (capab=0x431 status=0 aid=1) Jan 30 06:49:11 barbara kernel: wlan0: associated Jan 30 06:51:36 barbara kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Jan 30 06:51:36 barbara kernel: ath: Failed to stop TX DMA! Jan 30 06:51:36 barbara kernel: cfg80211: Calling CRDA to update world regulatory domain Jan 30 06:51:38 barbara kernel: wlan0: authenticate with 00:18:39:ce:ff:a9 (try 1) Jan 30 06:51:38 barbara kernel: wlan0: authenticated Jan 30 06:51:38 barbara kernel: wlan0: associate with 00:18:39:ce:ff:a9 (try 1) Jan 30 06:51:38 barbara kernel: wlan0: RX AssocResp from 00:18:39:ce:ff:a9 (capab=0x431 status=0 aid=1) Jan 30 06:51:38 barbara kernel: wlan0: associated This is with kernel 2.6.37 (ie from intelgraphicslinux branch for drm gfx, thus the +).. root@barbara:/var/log# uname -a Linux barbara 2.6.37+ #5 SMP Sat Jan 22 17:14:00 CET 2011 x86_64 GNU/Linux lspci -vnnn can be found on http://pastebin.com/ft1DkyBU lsmod can be found on http://pastebin.com/3CmECQH6 Created attachment 46332 [details]
dmesg 2.6.38-rc3
Not message in kernel 2.6.38-rc3:
ath: Failed to stop TX DMA in 100 msec after killing last frame
ath: Failed to stop TX DMA!
Created attachment 46692 [details]
ath9k-Fix-race-in-starting-stopping-DMA
Can you please try the attached patch and see if it makes any difference?
There was a difference, but not in a positive way =( When initating the network card, the computer froze completly. Tried booting several times but the same result each time. it DID respond to Sys Rq+s/b for booting tho so it did take some input. Worth mentioning; I do use the intellinuxgraphics.com drm branch of the kernel (thus the 2.6.37+ kernel name). However it should only be modified on the graphics drivers part. Also, I've always had problems enabling the network card, after googling I've found a rather solid solution that I use. I have network-manager installed and a gnome autostart script that does the following (works, enables my network card): mimmi@barbara:~$ cat wireless-hack #! /bin/bash ## Hack for wireless /sbin/rmmod ath9k /usr/sbin/rfkill block all /usr/sbin/rfkill unblock all /sbin/modprobe ath9k /usr/sbin/rfkill unblock all sleep 3 nmcli nm wifi on sleep 10 mount -a Dont know if it's related to anything but always good to mention any possible quirks. However, I dont believe that any of above is directly related, maby the block/unblock part, but the patch was successfully applied but rendered in freezing my computer when the card was enabled (I guess at the same time as my wireless-hack script was ran, ie when starting X...) Didnt catch anything in the logs, did get some binary rows that might be related... I dont see how it can cause a freeze. thanks for testing, i'll do more review. Created attachment 50212 [details]
dmesg 2.6.38-rc7
dmesg: 2.6.38-rc7:
[63748.398514] ath: Failed to stop TX DMA in 100 msec after killing last frame
[63748.398549] ath: Failed to stop TX DMA!
Tried the patch again with same result. Not sure if its the net or gfx that creates the actual freeze, but its a hard freeze... (still with 2.6.37+ drm branch from intellinuxgraphics.org) However, Just wanted to mention that I grabbed the 2.6.38 RC5 (also from intellinuxgraphics branch) and the problem is a goner. Havnt tracked changes but been running it for some days now and it's stable. Im happy. Would be nice if someone else with the same problem could verify that 2.6.38 RC5 solves the problem (narrows the root cause). I downloaded compat-wireless-2.6.38-3 and applied the patch to drivers/net/wireless/ath/ath9k/xmit.c and the error still exists on kernel-2.6.38. i have the same problem i have an internal pci wireless card from d-link (dwa-547) and its running in ap-mode. after a random time (mostly after half an hour) these loglines appear. at the same time the ap disappears and all established connections get interrupted. on the host-machine the cpu load raises to 30-40% (athlon 1800+). i can solve this problem by restarting hostapd. the ap is running in g mode. if i use n it's even worse and the symptoms occur earlier (1-5min). i tried to downgrade my kernel to 2.6.36-4 and the ap was more stable. the connection also got interrupted but only after a couple of hours. log: Mar 23 12:02:58 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 Mar 23 12:02:58 localhost kernel: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up Mar 23 12:02:58 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA in 100 msec after killing last frame Mar 23 12:03:00 localhost kernel: ath: Failed to stop TX DMA! Mar 23 12:03:00 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 Mar 23 12:03:00 localhost kernel: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up kernel: 2.6.38-2 (archlinux testing-repo) chipset: AR922X Wireless Network Adapter (rev 01) please reply if you need further information because i realy want to help to get this bug fixed and get my ap working flawlessly. Created attachment 52632 [details]
dmesg 2.6.38.2
Please ignore the ath9k-Fix-race-in-starting-stopping-DMA .patch, driver should be fine even with out this patch. Can you please confirm if the device is still functional even after this condition?. (In reply to comment #20) > Can you please confirm > if the device is still functional even after this condition?. Yes. The device is still functional even after this condition for my. tried the latest compat wireless package (2011/03/31) and still get same log output in n-mode...this time after 5minutes logoutput: Apr 6 19:46:58 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 Apr 6 19:47:00 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 Apr 6 19:47:00 localhost kernel: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up same problem in g mode...same log output...but this time after 30minutes...so as reported previously in g mode its more stable... kernel version: 2.6.36.4-1 (arch) compat-wireless: 2011-03-31 The same problem on Vaio F 13 with kernel 2.6.38-8 (ubuntu 11.04) amd64. It makes network practically unusable for me. lspci for network card: 02:00.0 Network controller: Atheros Communications Inc. AR9287 Wireless Network Adapter (PCI-Express) (rev 01) Subsystem: Foxconn International, Inc. Device e030 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at e8e00000 (64-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel driver in use: ath9k Kernel modules: ath9k *** Bug 33772 has been marked as a duplicate of this bug. *** The device is not functional for me at all when I get the message Failed to stop TX DMA in 100 msec after killing last frame. To make my card functional again, I must boot into Windows, bring up the card, and then boot into Fedora. The suggestion to add the kernel boot param pcie_aspm=off did not fix the problem. Can someone try kernel-2.6.36.2. It is the last working wireless for me. (In reply to comment #28) > Can someone try kernel-2.6.36.2. > It is the last working wireless for me. I will volunteer to try it. But will take at least a day as I am a little busy with other things. Just built and booted 2.6.36.2 Works as expected. No problem. No Tx DMA problems at all. I did not have to boot into windows to make the ath9k deal properly with my AR5008 card. Today, I built and booted 2.6.37.4 and this problem does not manifest in this kernel. (In reply to comment #28) > Can someone try kernel-2.6.36.2. > It is the last working wireless for me. It would appear that this problem is restricted to 2.6.38[.X] releases. jd1008, perhaps you could do a git bisect between 2.6.37 and 2.6.38? (In reply to comment #33) > jd1008, perhaps you could do a git bisect between 2.6.37 and 2.6.38? I am unfamiliar with using git tool. If you drop me an email with a one liner command that shows how to do this, will certainly post the results here. Some observations about this problem. In kernel 2.6.38.4, file drivers/net/wireless/ath/ath9k/mac.c u32 ath9k_hw_numtxpending(struct ath_hw *ah, u32 q) { u32 npend; npend = REG_READ(ah, AR_QSTS(q)) & AR_Q_STS_PEND_FR_CNT; if (npend == 0) { if (REG_READ(ah, AR_Q_TXE) & (1 << q)) npend = 1; } return npend; } and in function bool ath9k_hw_stoptxdma(struct ath_hw *ah, u32 q) . . . while (ath9k_hw_numtxpending(ah, q)) { if ((--wait) == 0) { ath_err(common, "Failed to stop TX DMA in 100 msec after killing last frame\n"); break; } udelay(ATH9K_TIME_QUANTUM); } It seems as if the test in func ath9k_hw_numtxpending if (REG_READ(ah, AR_Q_TXE) & (1 << q)) is returning 0 immediately and thus the failure message "Failed to stop TX DMA in 100 msec after killing last frame\n" I observe that it happens very early in the boot sequence. Created attachment 56282 [details]
diff -r -u kernel-2.6.37/linux-2.6.37.6/drivers/net/wireless/ath kernel-2.6.38/linux-2.6.38.4/drivers/net/wireless/ath | tee 2.6.37.6_vs_2.6.38.4-ath.diff
I've noticed that when I switch my router to G-only mode my connection becomes much more stable (when using n mode my wifi card is practically unusable with 2.6.38 kernel). I don't get TX DMA errors in g mode but still the connection resets every few minutes. The git bisect process starts something like this: git bisect start git bisect good v2.6.37 git bisect bad v2.6.38 Then build/reboot/test. If the resulting build works, use this command: git bisect good and if it does not work, use this command: git bisect bad Then repeat the build/reboot/test process until it tells you it has found the "first bad commit". It may take several iterations of the build/reboot/test cycle, but the info it provides can be very helpful. So, John, Do I understand that I should repeat the build/reboot/test cycle for both the good and the bad several times? Your question suggests that you don't understand that this is all done in a single tree. :-) So, yes -- you build/reboot/test repeatedly, marking each result as either good or bad. When you do that, git will churn for a while and pick another commit to try. That is when you build/reboot/test again, and continue to do so until git identifies the "first bad commit". Hmmm... I already admitted I am not familiar with git, and have never used it. Reading the man page, it appears that there are a few preparatory steps I need to do before I even start to bisect. Sorry, you need to start with this: git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git cd linux-2.6 Then you can proceed with the instructions in comment 38. That didn't format very well...the "git clone" and the "git://..." lines are actually a single line, of course. Hmmm... I already admitted I am not familiar with git, and have never used it. Reading the man page, it appears that there are a few preparatory steps I need to do before I even start to bisect. (In reply to comment #43) > That didn't format very well...the "git clone" and the "git://..." lines are > actually a single line, of course. After performing git bisect start git bisect good v2.6.37 git bisect bad v2.6.38 what should I see in the dir linux-2.6 ? how to build "good"? how to buld "bad"? I see no separate trees for good and bad. Just the normal contents of a kernel directory: COPYING MAINTAINERS block/ include/ mm/ sound/ CREDITS Makefile crypto/ init/ net/ tools/ Documentation/ README drivers/ ipc/ samples/ usr/ Kbuild REPORTING-BUGS firmware/ kernel/ scripts/ virt/ Kconfig arch/ fs/ lib/ security/ There is only one tree. Marking for "good" and "bad" only indicate which versions of the tree worked and which didn't. The linux-2.6 dir should look just like any other build. You build it in the same manner in which you built the earlier kernels, as you indicated in comment 30 and comment 31. There is no magic here. git is a revision control tool, not all that different from cvs or svn. The git bisect is just a mechanical means of trying a variety of builds in a more-or-less binary search through the various revisions of the tree, looking for the first commit to cause a specific problem. So, just build the first kernel, reboot, test for the problem, and then mark it good or bad. Lather, rinse, repeat. :-) So, John, Do I understand that I should repeat the build/reboot/test cycle for both the good and the bad several times? (In reply to comment #45) > There is only one tree. Marking for "good" and "bad" only indicate which > versions of the tree worked and which didn't. > > The linux-2.6 dir should look just like any other build. You build it in the > same manner in which you built the earlier kernels, as you indicated in > comment > 30 and comment 31. > > There is no magic here. git is a revision control tool, not all that > different > from cvs or svn. The git bisect is just a mechanical means of trying a > variety > of builds in a more-or-less binary search through the various revisions of > the > tree, looking for the first commit to cause a specific problem. So, just > build > the first kernel, reboot, test for the problem, and then mark it good or bad. > Lather, rinse, repeat. :-) OK, so after I do git bisect good v2.6.37 I should build and boot it to test for the bug and after I do git bisect good v2.6.38 I should build and boot it to test for the bug If this is what you meant, sorry, I did not extrapolate that from your prior explanation, because you seemed to say that I should git bisect start git bisect good v2.6.37 git bisect bad v2.6.38 and then do the build reboot and test. At anywho, I intuited that I should build and boot and test after each git bisect good v2.6.37 and git bisect bad v2.6.38 Currently, still building 2.6.37. On a unicore cpu, with many procs running, it does take about 3-5 hours to build the kernel. Built the first bisect 2.6.37 good and booted. I got the dreaded message, but the wlan0 was functional and was able to associate and work as expected. here is the relevant dmesg output: $ cat /tmp/dmesg cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) eth0: SiS 900 PCI Fast Ethernet at 0xd800, IRQ 19, 00:03:0d:15:2b:9e ath9k 0000:00:0b.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 ath: EEPROM regdomain: 0x0 ath: EEPROM indicates default country code should be used ath: doing EEPROM country->regdmn map search ath: country maps to regdmn code: 0x3a ath: Country alpha2 being used: US ath: Regpair used: 0x3a ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control' Registered led device: ath9k-phy0::radio Registered led device: ath9k-phy0::assoc Registered led device: ath9k-phy0::tx Registered led device: ath9k-phy0::rx cfg80211: Calling CRDA for country: US ieee80211 phy0: Atheros AR5416 MAC/BB Rev:2 AR2133 RF Rev:81 mem=0xf80a0000, irq=19 cfg80211: Regulatory domain changed to country: US cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) wlan0: authenticate with 00:1d:5a:c8:91:c1 (try 1) wlan0: authenticated wlan0: associate with 00:1d:5a:c8:91:c1 (try 1) wlan0: RX AssocResp from 00:1d:5a:c8:91:c1 (capab=0x431 status=0 aid=2) wlan0: associated cfg80211: Calling CRDA for country: US cfg80211: Regulatory domain changed to country: US cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) padlock: VIA PadLock not detected. wlan0: deauthenticated from 00:1d:5a:c8:91:c1 (Reason: 2) cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) wlan0: authenticate with 00:1d:5a:c8:91:c1 (try 1) wlan0: authenticated wlan0: associate with 00:1d:5a:c8:91:c1 (try 1) wlan0: RX AssocResp from 00:1d:5a:c8:91:c1 (capab=0x431 status=0 aid=2) wlan0: associated cfg80211: Calling CRDA for country: US cfg80211: Regulatory domain changed to country: US cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) wlan0: authenticate with 00:1d:5a:c8:91:c1 (try 1) wlan0: authenticated wlan0: associate with 00:1d:5a:c8:91:c1 (try 1) wlan0: RX AssocResp from 00:1d:5a:c8:91:c1 (capab=0x431 status=0 aid=2) wlan0: associated cfg80211: Calling CRDA for country: US cfg80211: Regulatory domain changed to country: US cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) If that is the first version that shows the message then I think it might be the first commit that started the error (maybe future commits further "broke" it). It is strange that I have built and booted 2.6.37.6 and it shows no such message, and works perfectly. Do you are probably right. The first commit that went into 2.6.38 started this bug. How do I build 2.6.37.6? Starting with a fresh clone, I ran git bisect start git bisect bad 2.6.38 then I looked at the Makefile, and found that it is using 2.6.39-rc5 I thought it should have selected 2.6.38. Well, what did I tell ya ... I do not really know git :) 2.6.37.6 doesn't have this problem on my system either but I had hoped it was related to another problem I'm having but it is apparently not (since only 2.6.36.2 fixes my other problem). How do I get kernel-2.6.36.3 (exactly) I want to start bisect with the first bad kernel for my problem. Only the beginning looks like this: git bisect start git bisect good v2.6.37 git bisect bad v2.6.38 After you do that, you build, reboot, and test. If the result works (i.e. doesn't have the bug you are looking for), then you enter this command: git bisect good or if the result does not work, then you enter this command: git bisect bad Note that there is nothing on that line after "good" or "bad" -- if you instead put "git bisect good v2.6.37" as you indicated, you are telling git the same thing you already told it, and preventing it from zeroing-in on the first troublesome commit. After the "git bisect good" or "git bisect bad", then git will pick a new version. You will then need to build, reboot, and test that version. If the results works, do "git bisect good" or "git bisect bad" again. And build again, and reboot again, and test again. Keep doing that until git explicitly tells you that it found the "first bad commit" -- don't stop until that happens. As for comment 51, until you have done both "git bisect bad 2.6.38" _and_ "git bisect good 2.6.37" then you haven't given git enough information to start the bisect. So, you haven't changed the version checked-out, which is why it still is 2.6.39-rc5. bjlockie re: comment 52 -- you do realize that 2.6.36.3 comes _before_ 2.6.37.6, right? Anyway, the 4-part versions are in separate trees from the normal development tree. It is usually easier to do a bisect in the linux-2.6 tree by itself. Can you narrow-down the search to two 3-part version numbers (e.g. between 2.6.36 and 2.6.37)? 2.6.36.3 works for my problem but 2.6.37.6 does NOT. 2.6.36.4 (on kernel.org) also does NOT. bjlockie, your git bisect starts like this: git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.36.y.git cd linux-2.6.36.y git bisect start git bisect good v2.6.36.3 git bisect bad v2.6.36.4 When this completes, build the kernel, reboot, and test. If it works, use this command: git bisect good Otherwise, use this command: git bisect bad The build the new kernel, reboot, and test. Repeat until the "first bad commit" is identified. 2.6.36.4 turns out ok now. I was sure it didn't work before. I am trying again but my bad won't work. :-( $ git bisect bad v2.6.37.6 fatal: Needed a single revision Bad rev input: v2.6.37.6 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.36.y. git $ cd linux-2.6.36.y $ git bisect start $ git bisect good v2.6.36.4 $ git bisect bad v2.6.37.6 John, what should I declare the first build resulting from bisect good v2.6.37 bisect bad v2.6.38 This build works, but it does issue the error messages ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! If I declare it bad, what effect will that have on the next build and if I declare it good, what effect will that have on the next build. Thanx for your tutoring :) ->#58: I think good or bad will change what commit it picks to take out of the next build. Eventually, it'll find the commit that made the problem appear. As to the algorithm git uses to pick commits to try, I have no clue. I have no idea what the first build is called either. Is v2.6.37 v2.6.37.1? I am sure my problem is related to that warning because builds that show that warning don't scan properly (no APs or very few APs and it won't associate). The bad thing is that all of 2.6.36.4 works and 2.6.37 breaks. I don't know how to give it a bad 2.6.36.x one. git bisect good v2.6.36.4 works. :-) I think "git tag' shows all the tags you can use for good or bad. :-) Unfortunately 2.6.36.4 seems to be the last one. I am doing: $ cd linux-2.6.37.y $ git bisect start $ git bisect good v2.6.36 $ git bisect bad v2.6.37.6 I really do not understand why you are having any atheros AR5008 related problems with kernels 2.6.37.X I have the same atheros wifi card. None of the kernels 2.6.37.X manifest this problem on my machine at all. The problem showed up on my machine in kernel 2.6.38. For me this problem is FIXED after updating to kernel 2.6.38-9 (ubuntu). The ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! cause my scans not to work right. #61: Do you have the same eeprom? Mine reports 'cfg80211: Regulatory domain changed to country: CO' which is sort of strange since I am in Canada but I bought the card used. It works perfectly in some kernels. :-) I did the bisecting and I found the offending commit in the 2.6.37 version but how do I undo the commit from a recent kernel or the latest 2.6.37? How do I get git to display the number of the offending commit again? I just built and booted 2.6.38.5. The bug is fixed in this release, and should be backported all the way to 2.6.38. However, the entire 2.6.38.? set of releases are bad because every single one of them hangs at boot!! To make boot proceed, I have to repeatedly press CR, plugin a usb device and unplug it, ...etc in other words, if I do not cause some kind of interrupt to wake up the kernel, it stays at some intermediate stage (which is not always the same). What sysadmin would want such a kernel?? Therefore 2.6.38 releases are DOA! 2.6.38.5 does NOT work for me. Does it even boot? Can you provide details of the messages that would indicate the nature of the problem? Just saying does not work will not help the developers know what is the specific problem you have with 2.6.38.5. It boots fine. I get the errors: ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA!" on all the kernels that my scans don't work right. and scanning either shows no APs or very few: iwlist wlan0 scan That is really strange!! I have the same AR5008 card, with the AR5416 chip. I did not get that error message at all. In fact after prodding the kernel to finish booting (see comment 64), I was able to associate with the AP and and get on the net. #68 - What CPU do you have? I had a breakthrough (I hope it is repeatable). I did: modprobe ath9k debug=0xffffffff and it WORKS. :-) I have an AMD64 5000+ (not particularly fast but maybe too fast for the code). Which kernel?(In reply to comment #69) > #68 - What CPU do you have? > > I had a breakthrough (I hope it is repeatable). > I did: > modprobe ath9k debug=0xffffffff > > and it WORKS. :-) > > I have an AMD64 5000+ (not particularly fast but maybe too fast for the > code). Which kernel? kernel 2.6.38.5 It didn't work when I rebooted though. :-( I would suspect a hardware problem except it works 100% in kernel-2.6.36.4. I think the error is gone though (but my scanning is not fixed). Does this mean anything: -----------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/ath9k/recv.c:534 ath_stoprecv+0xcf/0xef [ath9k]() Hardware name: To Be Filled By O.E.M. Modules linked in: ath9k mac80211 ath9k_common nvidia(P) ath9k_hw ath cfg80211 [last unloaded: ath9k] Pid: 12, comm: kworker/u:1 Tainted: P W 2.6.38.5 #6 Call Trace: [<ffffffff8102bb86>] ? warn_slowpath_common+0x78/0x8c [<ffffffffa0aa109e>] ? ath_stoprecv+0xcf/0xef [ath9k] [<ffffffffa0a9e761>] ? ath_set_channel+0xaf/0x20d [ath9k] [<ffffffffa0a9ec98>] ? ath9k_config+0x3d9/0x4de [ath9k] [<ffffffffa0bb06e6>] ? ieee80211_scan_work+0x2eb/0x47f [mac80211] [<ffffffffa0bb03fb>] ? ieee80211_scan_work+0x0/0x47f [mac80211] [<ffffffff8103d30a>] ? process_one_work+0x20e/0x34e [<ffffffff8103d849>] ? worker_thread+0x1c9/0x340 [<ffffffff810218c6>] ? __wake_up_common+0x41/0x78 [<ffffffff8103d680>] ? worker_thread+0x0/0x340 [<ffffffff8103d680>] ? worker_thread+0x0/0x340 [<ffffffff810403cb>] ? kthread+0x7a/0x82 [<ffffffff81002b54>] ? kernel_thread_helper+0x4/0x10 [<ffffffff81040351>] ? kthread+0x0/0x82 [<ffffffff81002b50>] ? kernel_thread_helper+0x0/0x10 ---[ end trace 8afb370f7261c121 ]--- The problem has completely disappeared in kernel 2.6.38.6 I am running 2.6.38.6 right now and all is working as before. No problems with the ath wifi so far. Have you tried putting your wifi at heavy load for more than 20 minutes? For me this error still occurs especially with channel width set to 20/40MHz on my AP (which worked just fine with earlier kernel versions). What's more important the connection is not as stable as it used to be. I get some severe packet loss every few minutes. (In reply to comment #74) > Have you tried putting your wifi at heavy load for more than 20 minutes? For > me > this error still occurs especially with channel width set to 20/40MHz on my > AP > (which worked just fine with earlier kernel versions). What's more important > the connection is not as stable as it used to be. I get some severe packet > loss > every few minutes. I have been downloading and uploading like crazy - to the full limit of our service (about 700KBytes/s). No problems at all. Our router at&t/2-wire has no settings for 20 or 40 MHz of operation. 20 or 40MHz wide channel is wireless N-only. The 2wire probably only does wireless G (mine is only G). (In reply to comment #76) > 20 or 40MHz wide channel is wireless N-only. > The 2wire probably only does wireless G (mine is only G). Right on the money. It is only wireless mode G. > I have been downloading and uploading like crazy - to the full limit > of our service (about 700KBytes/s). Well this isn't to much for a G mode wifi card. I was talking about a full load for ex. inside your local network. > 20 or 40MHz wide channel is wireless N-only. > The 2wire probably only does wireless G (mine is only G). Yes, I was talking about n mode. As I've mentioned before in G mode I don't experience this problem at all or it is so rare that I didn't notice it. Yesterday, the same dreaded problem suddenly appeared, booting 2.6.38.6 After several days of normal operation (2.6.38.6), a reboot brought the problem back. After having read some articles that some network chips can be hacked to shutdown the network, I wonder if my wifi is a victim of a similar attack. I got the problem again in 2.6.39, but it was in synch with an improperly handled interrupt? It looks like the ath ISR passed the interrupt to the firewire driver for handling. Why?? Could the be caused by memory corruption? May 24 12:42:33 localhost kernel: irq 19: nobody cared (try booting with the "irqpoll" option) May 24 12:42:33 localhost kernel: Pid: 2822, comm: kwifimanager Not tainted 2.6.39.0-1.fc14.i686 #2 May 24 12:42:33 localhost kernel: Call Trace: May 24 12:42:33 localhost kernel: [<c13f5a06>] ? printk+0x18/0x1a May 24 12:42:33 localhost kernel: [<c10724d8>] __report_bad_irq.clone.6+0x28/0xd0 May 24 12:42:33 localhost kernel: [<c107273e>] note_interrupt+0x16e/0x1b0 May 24 12:42:33 localhost kernel: [<f8c67dbf>] ? ath_isr+0x3f/0x240 [ath9k] May 24 12:42:33 localhost kernel: [<c10710ec>] handle_irq_event_percpu+0x7c/0x150 May 24 12:42:33 localhost kernel: [<c1072db0>] ? handle_simple_irq+0x70/0x70 May 24 12:42:33 localhost kernel: [<c10711f3>] handle_irq_event+0x33/0x60 May 24 12:42:33 localhost kernel: [<c1072df7>] handle_fasteoi_irq+0x47/0xd0 May 24 12:42:33 localhost kernel: <IRQ> [<c1004d0a>] ? do_IRQ+0x3a/0xb0 May 24 12:42:33 localhost kernel: [<c10342f2>] ? irq_exit+0x32/0x90 May 24 12:42:33 localhost kernel: [<c13f87b0>] ? common_interrupt+0x30/0x38 May 24 12:42:33 localhost kernel: handlers: May 24 12:42:33 localhost kernel: [<f842ea90>] (irq_handler+0x0/0x610 [firewire_ohci]) May 24 12:42:33 localhost kernel: [<f8c67d80>] (ath_isr+0x0/0x240 [ath9k]) May 24 12:42:33 localhost kernel: [<f867a300>] (sis900_interrupt+0x0/0x750 [sis900]) May 24 12:42:33 localhost kernel: Disabling IRQ #19 May 24 12:42:34 localhost kernel: ath: Failed to stop TX DMA! May 24 12:42:34 localhost kernel: ath: Failed to stop TX DMA! May 24 12:42:34 localhost kernel: ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff May 24 12:42:34 localhost kernel: ath: Could not stop RX, we could be confusing the DMA engine when we start RX up May 24 12:42:34 localhost kernel: ath: Chip reset failed May 24 12:42:34 localhost kernel: ath: Unable to reset hardware; reset status -22 May 24 12:42:35 localhost kernel: ath: Failed to stop TX DMA! 2.6.39 All was well. Machine up and running on wlan0 for at least 30 hours. In the evening, before 9pm, I plugged in a 7 port USB hub. Immediately, I saw on the terminal that IRQ 19 was disabled. Well, I have many devices on the SIS chipset, all of which share INT 19. So, among the devices that became inaccessible was the ath ar5008 wifi card. What I captured from dmesg: I plugged in a 7 port USB hub usb 1-2: new high speed USB device number 3 using ehci_hcd usb 1-2: New USB device found, idVendor=1a40, idProduct=0101 usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 1-2: Product: USB 2.0 Hub hub 1-2:1.0: USB hub found hub 1-2:1.0: 4 ports detected irq 19: nobody cared (try booting with the "irqpoll" option) Pid: 19654, comm: udevd Not tainted 2.6.39.0-1.fc14.i686 #2 Call Trace: [<c13f5a06>] ? printk+0x18/0x1a [<c10724d8>] __report_bad_irq.clone.6+0x28/0xd0 [<c107273e>] note_interrupt+0x16e/0x1b0 [<f8cb5dbf>] ? ath_isr+0x3f/0x240 [ath9k] [<c10710ec>] handle_irq_event_percpu+0x7c/0x150 [<c1072db0>] ? handle_simple_irq+0x70/0x70 [<c10711f3>] handle_irq_event+0x33/0x60 [<c1072df7>] handle_fasteoi_irq+0x47/0xd0 <IRQ> [<c1004d0a>] ? do_IRQ+0x3a/0xb0 [<c1004d13>] ? do_IRQ+0x43/0xb0 [<c1004ea8>] ? handle_irq+0x18/0x90 [<c13f87b0>] ? common_interrupt+0x30/0x38 [<c10211c6>] ? native_flush_tlb_single+0x6/0x10 [<c10a481f>] ? ptep_clear_flush+0x4f/0x60 [<c10981ec>] ? do_wp_page.clone.76+0x2ec/0x760 [<c13f87b0>] ? common_interrupt+0x30/0x38 [<c109a1a3>] ? handle_pte_fault+0x3d3/0x7d0 [<c1027208>] ? kmap_atomic_prot+0xc8/0xf0 [<c109a62b>] ? handle_mm_fault+0x8b/0xd0 [<c1022ce2>] ? do_page_fault+0x102/0x410 [<c1004d13>] ? do_IRQ+0x43/0xb0 [<c13f87b0>] ? common_interrupt+0x30/0x38 [<c1004ea8>] ? handle_irq+0x18/0x90 [<c10342f2>] ? irq_exit+0x32/0x90 [<c1004d13>] ? do_IRQ+0x43/0xb0 [<c11bf5a3>] ? __put_user_4+0x13/0x18 [<c1022be0>] ? vmalloc_sync_all+0x140/0x140 [<c13f7fa5>] ? error_code+0x65/0x6c handlers: [<f840da90>] (irq_handler+0x0/0x610 [firewire_ohci]) [<f8cb5d80>] (ath_isr+0x0/0x240 [ath9k]) [<f85cb300>] (sis900_interrupt+0x0/0x750 [sis900]) Disabling IRQ #19 usb 1-2.1: new high speed USB device number 4 using ehci_hcd usb 1-2.1: New USB device found, idVendor=1a40, idProduct=0101 usb 1-2.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 1-2.1: Product: USB 2.0 Hub hub 1-2.1:1.0: USB hub found hub 1-2.1:1.0: 4 ports detected ath: Failed to stop TX DMA! ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset hardware; reset status -22 ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Failed to wakeup in 500us ath: Failed to wakeup in 500us cfg80211: Calling CRDA to update world regulatory domain ath: Failed to wakeup in 500us ath: Failed to wakeup in 500us ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) ath: Failed to stop TX DMA! ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset hardware; reset status -22 ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2412 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2417 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2422 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2427 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2432 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2437 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2442 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2447 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2457 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2462 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2467 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2472 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2484 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) hub 1-2:1.0: hub_port_status failed (err = -32) usb 1-2: USB disconnect, device number 3 usb 1-2.1: USB disconnect, device number 4 <<<< I unplugged the hub and plugged it back in usb 1-2: new high speed USB device number 5 using ehci_hcd usb 1-2: device descriptor read/64, error -32 ath: Failed to wakeup in 500us ath: Failed to wakeup in 500us ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2412 MHz), reset status -22 usb 1-2: device descriptor read/64, error -32 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2417 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2422 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2427 MHz), reset status -22 usb 1-2: new high speed USB device number 6 using ehci_hcd ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2432 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2437 MHz), reset status -22 usb 1-2: device descriptor read/64, error -32 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2442 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2447 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 usb 1-2: device descriptor read/64, error -32 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2457 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2462 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2467 MHz), reset status -22 usb 1-2: new high speed USB device number 7 using ehci_hcd ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2472 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2484 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 usb 1-2: device not accepting address 7, error -32 usb 1-2: new high speed USB device number 8 using ehci_hcd usb 1-2: device not accepting address 8, error -32 hub 1-0:1.0: unable to enumerate USB device on port 2 usb 3-1: new full speed USB device number 2 using ohci_hcd usb 3-1: not running at top speed; connect to a high speed hub usb 3-1: New USB device found, idVendor=1a40, idProduct=0101 usb 3-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 3-1: Product: USB 2.0 Hub hub 3-1:1.0: USB hub found hub 3-1:1.0: 4 ports detected usb 3-1.1: new full speed USB device number 3 using ohci_hcd usb 3-1.1: not running at top speed; connect to a high speed hub usb 3-1.1: New USB device found, idVendor=1a40, idProduct=0101 usb 3-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 3-1.1: Product: USB 2.0 Hub hub 3-1.1:1.0: USB hub found hub 3-1.1:1.0: 4 ports detected usb 3-1.1.4: new full speed USB device number 4 using ohci_hcd usb 3-1.1.4: not running at top speed; connect to a high speed hub usb 3-1.1.4: New USB device found, idVendor=0000, idProduct=0000 usb 3-1.1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=4 usb 3-1.1.4: Product: UB6225 usb 3-1.1.4: Manufacturer: ENE usb 3-1.1.4: SerialNumber: 146030377350 Initializing USB Mass Storage driver... scsi4 : usb-storage 3-1.1.4:1.0 usbcore: registered new interface driver usb-storage USB Mass Storage support registered. scsi 4:0:0:0: Direct-Access USB2.0 CardReader SD0 PQ: 0 ANSI: 0 sd 4:0:0:0: Attached scsi generic sg3 type 0 sd 4:0:0:0: [sdc] 16007168 512-byte logical blocks: (8.19 GB/7.63 GiB) sd 4:0:0:0: [sdc] Write Protect is off sd 4:0:0:0: [sdc] Mode Sense: 03 00 00 00 sd 4:0:0:0: [sdc] Assuming drive cache: write through sd 4:0:0:0: [sdc] Assuming drive cache: write through sdc: detected capacity change from 0 to 8195670016 sdc: sdc1 sd 4:0:0:0: [sdc] Assuming drive cache: write through sd 4:0:0:0: [sdc] Attached SCSI removable disk 2.6.38.8 is guilty of the same crime: ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! In 2.6.38.8, never able to bring up wlan0. --------- 2.6.38.7 Many repetitions of ath: Failed to stop TX DMA in 100 msec after killing last frame ath: Failed to stop TX DMA! but wlan0 is up and remains up. ---------- Happened on 2.6.39.1. In run level 5. Logged in as jd wlan0 (ath AR5008) is up and connected to LAN. the ath card is assigned irq 19. $ dmesg | grep ath9k ath9k 0000:00:0b.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 I plug in a USB flash drive, and instantly, wlan0 crashes: usb 1-2: new high speed USB device number 3 using ehci_hcd usb 1-2: device descriptor read/64, error -32 irq 19: nobody cared (try booting with the "irqpoll" option) Pid: 0, comm: swapper Not tainted 2.6.39.1.fc14.i686 #1 Call Trace: [<c13f5b94>] ? printk+0x18/0x1c [<c1072468>] __report_bad_irq.clone.6+0x28/0xd0 [<c10726ce>] note_interrupt+0x16e/0x1b0 [<f87e7dbf>] ? ath_isr+0x3f/0x240 [ath9k] [<c107107c>] handle_irq_event_percpu+0x7c/0x150 [<c1072d40>] ? handle_simple_irq+0x70/0x70 [<c1071183>] handle_irq_event+0x33/0x60 [<c1072d87>] handle_fasteoi_irq+0x47/0xd0 <IRQ> [<c1004d0a>] ? do_IRQ+0x3a/0xb0 [<c1034314>] ? irq_exit+0x54/0x90 [<c13f8970>] ? common_interrupt+0x30/0x38 [<c1056808>] ? tick_nohz_stop_sched_tick+0x278/0x3b0 [<c10021e7>] ? cpu_idle+0x57/0xb0 [<c13ed1a7>] ? rest_init+0x77/0x80 [<c154f74e>] ? start_kernel+0x30b/0x311 [<c154f1cb>] ? loglevel+0x1a/0x1a [<c154f0bd>] ? i386_start_kernel+0xbd/0xc5 handlers: [<f841aa90>] (irq_handler+0x0/0x610 [firewire_ohci]) [<f87e7d80>] (ath_isr+0x0/0x240 [ath9k]) [<f852a300>] (sis900_interrupt+0x0/0x750 [sis900]) Disabling IRQ #19 usb 1-2: device descriptor read/64, error -32 usb 1-2: new high speed USB device number 4 using ehci_hcd usb 1-2: device descriptor read/64, error -32 usb 1-2: device descriptor read/64, error -32 ath: Failed to stop TX DMA! <<<<<<<<<<<<<<<<<<<<<<<<<<<<< ath: Failed to stop TX DMA! <<<<<<<<<<<<<<<<<<<<<<<<<<<<< ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset hardware; reset status -22 ath: Failed to stop TX DMA! <<<<<<<<<<<<<<<<<<<<<<<<<<<<< ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Failed to wakeup in 500us ath: Failed to wakeup in 500us cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) usb 1-2: new high speed USB device number 5 using ehci_hcd ath: Failed to wakeup in 500us ath: Failed to wakeup in 500us ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 usb 1-2: device not accepting address 5, error -32 usb 1-2: new high speed USB device number 6 using ehci_hcd ath: Failed to stop TX DMA! ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset hardware; reset status -22 ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2412 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2417 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2422 MHz), reset status -22 usb 1-2: device not accepting address 6, error -32 hub 1-0:1.0: unable to enumerate USB device on port 2 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2427 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2432 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2437 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2442 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2447 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2457 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2462 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2467 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2472 MHz), reset status -22 usb 3-1: new full speed USB device number 2 using ohci_hcd ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2484 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 ath: Unable to set channel ath: Failed to stop TX DMA! ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff ath: Could not stop RX, we could be confusing the DMA engine when we start RX up ath: Chip reset failed ath: Unable to reset channel (2452 MHz), reset status -22 Please increase the priority of this bug. It is failing WiFi communication altogether. If you need further debug information, you may request its collection via this ticket of the OpenWRT project: https://dev.openwrt.org/ticket/9654 This is really, really annoying. I don't get the error message that is the title of this bug report, but a similar one: [ 2138.628247] ath: phy0: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff [ 2138.628268] ath: phy0: Could not stop RX, we could be confusing the DMA engine when we start RX up [ 2138.742851] ath: phy0: Chip reset failed [ 2138.742855] ath: phy0: Unable to reset channel, reset status -22 [ 2138.753415] ath: phy0: Failed to wakeup in 500us [ 2138.817776] ath: phy0: Failed to stop TX DMA, queues=0x10f! [ 2138.628247] ath: phy0: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff DMADBG_7=0xffffffff [ 2138.628268] ath: phy0: Could not stop RX, we could be confusing the DMA engine when we start RX up [ 2138.742851] ath: phy0: Chip reset failed [ 2138.742855] ath: phy0: Unable to reset channel, reset status -22 [ 2138.753415] ath: phy0: Failed to wakeup in 500us [ 2138.817776] ath: phy0: Failed to stop TX DMA, queues=0x10f! What really annoys me about this problem is that there is no way to get wifi working again, short of rebooting the computer. I don't know what causes the problem, but am willing to do whatever I can to help someone knowledgeable sort it out. The kernel I'm running: $ uname -r 3.11.2-1-ARCH |
Created attachment 44812 [details] dmesg 2.6.38-rc1 Message in dmesg: [ 22.308381] ath: Failed to stop TX DMA in 100 msec after killing last frame [ 22.308447] ath: Failed to stop TX DMA!