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-wirelessAssignee: 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

Description Cristian Aravena Romero 2011-01-23 00:52:11 UTC
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!
Comment 1 Cristian Aravena Romero 2011-01-23 00:52:53 UTC
Created attachment 44822 [details]
lspci -vvnn
Comment 2 shafi 2011-01-26 14:13:48 UTC
(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?
Comment 3 shafi 2011-01-26 14:17:44 UTC
(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)
Comment 4 Cristian Aravena Romero 2011-01-26 17:11:27 UTC
(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)
Comment 5 Cristian Aravena Romero 2011-01-26 17:35:42 UTC
(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?
Comment 6 shafi 2011-01-29 11:40:24 UTC
(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
Comment 7 Cristian Aravena Romero 2011-02-01 01:43:55 UTC
Created attachment 45682 [details]
dmesg 2.6.38-rc2
Comment 8 Cristian Aravena Romero 2011-02-01 01:44:41 UTC
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!
Comment 9 shafi 2011-02-01 10:02:49 UTC
(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.
Comment 10 Jens Johansson 2011-02-04 21:52:14 UTC
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
Comment 11 Cristian Aravena Romero 2011-02-05 01:23:25 UTC
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!
Comment 12 vasanth 2011-02-07 06:47:44 UTC
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?
Comment 13 Jens Johansson 2011-02-08 18:22:59 UTC
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...
Comment 14 vasanth 2011-02-09 05:06:08 UTC
I dont see how it can cause a freeze. thanks for testing, i'll do more review.
Comment 15 Cristian Aravena Romero 2011-03-06 19:49:38 UTC
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!
Comment 16 Jens Johansson 2011-03-06 21:21:35 UTC
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).
Comment 17 bjlockie 2011-03-21 04:52:07 UTC
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.
Comment 18 Jan van Achterin 2011-03-23 11:36:41 UTC
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.
Comment 19 Cristian Aravena Romero 2011-03-30 15:06:45 UTC
Created attachment 52632 [details]
dmesg 2.6.38.2
Comment 20 vasanth 2011-03-31 06:17:34 UTC
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?.
Comment 21 Cristian Aravena Romero 2011-03-31 16:22:12 UTC
(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.
Comment 22 Jan van Achterin 2011-04-06 17:53:25 UTC
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
Comment 23 Jan van Achterin 2011-04-06 19:01:19 UTC
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
Comment 24 Lukasz Olszewski 2011-04-19 18:16:00 UTC
The same problem on Vaio F 13 with kernel 2.6.38-8 (ubuntu 11.04) amd64. It makes network practically unusable for me.
Comment 25 Lukasz Olszewski 2011-04-19 18:17:52 UTC
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
Comment 26 John W. Linville 2011-04-29 17:56:57 UTC
*** Bug 33772 has been marked as a duplicate of this bug. ***
Comment 27 jd1008 2011-04-30 03:13:34 UTC
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.
Comment 28 bjlockie 2011-04-30 03:17:33 UTC
Can someone try kernel-2.6.36.2.
It is the last working wireless for me.
Comment 29 jd1008 2011-04-30 03:24:03 UTC
(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.
Comment 30 jd1008 2011-04-30 04:30:56 UTC
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.
Comment 31 jd1008 2011-04-30 15:36:44 UTC
Today, I built and booted 2.6.37.4
and this problem does not manifest
in this kernel.
Comment 32 jd1008 2011-04-30 21:50:26 UTC
(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.
Comment 33 John W. Linville 2011-05-02 17:03:00 UTC
jd1008, perhaps you could do a git bisect between 2.6.37 and 2.6.38?
Comment 34 jd1008 2011-05-02 19:55:41 UTC
(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.
Comment 35 jd1008 2011-05-02 20:04:12 UTC
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.
Comment 36 jd1008 2011-05-03 04:18:00 UTC
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
Comment 37 Lukasz Olszewski 2011-05-03 09:16:42 UTC
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.
Comment 38 John W. Linville 2011-05-03 13:10:49 UTC
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.
Comment 39 jd1008 2011-05-03 15:16:42 UTC
So, John, Do I understand that I should repeat the build/reboot/test
cycle for both the good and the bad several times?
Comment 40 John W. Linville 2011-05-03 15:19:56 UTC
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".
Comment 41 jd1008 2011-05-03 15:31:39 UTC
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.
Comment 42 John W. Linville 2011-05-03 15:42:05 UTC
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.
Comment 43 John W. Linville 2011-05-03 15:43:13 UTC
That didn't format very well...the "git clone" and the "git://..." lines are actually a single line, of course.
Comment 44 jd1008 2011-05-03 19:08:50 UTC
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/
Comment 45 John W. Linville 2011-05-03 19:17:34 UTC
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. :-)
Comment 46 jd1008 2011-05-03 21:04:06 UTC
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.
Comment 47 jd1008 2011-05-04 01:02:02 UTC
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)
Comment 48 bjlockie 2011-05-04 01:38:59 UTC
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).
Comment 49 jd1008 2011-05-04 01:49:39 UTC
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.
Comment 50 bjlockie 2011-05-04 03:02:31 UTC
How do I build 2.6.37.6?
Comment 51 jd1008 2011-05-04 03:51:59 UTC
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 :)
Comment 52 bjlockie 2011-05-04 08:04:27 UTC
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.
Comment 53 John W. Linville 2011-05-04 15:36:15 UTC
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.
Comment 54 John W. Linville 2011-05-04 15:41:00 UTC
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)?
Comment 55 bjlockie 2011-05-04 18:15:36 UTC
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.
Comment 56 John W. Linville 2011-05-04 18:48:18 UTC
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.
Comment 57 bjlockie 2011-05-05 00:11:04 UTC
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
Comment 58 jd1008 2011-05-05 03:49:21 UTC
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 :)
Comment 59 bjlockie 2011-05-05 04:33:55 UTC
->#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. :-)
Comment 60 bjlockie 2011-05-05 04:47:27 UTC
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
Comment 61 jd1008 2011-05-05 04:58:53 UTC
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.
Comment 62 Lukasz Olszewski 2011-05-05 09:08:21 UTC
For me this problem is FIXED after updating to kernel 2.6.38-9 (ubuntu).
Comment 63 bjlockie 2011-05-05 22:07:39 UTC
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?
Comment 64 jd1008 2011-05-05 23:26:39 UTC
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!
Comment 65 bjlockie 2011-05-05 23:51:17 UTC
2.6.38.5 does NOT work for me.
Comment 66 jd1008 2011-05-05 23:55:42 UTC
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.
Comment 67 bjlockie 2011-05-06 05:16:32 UTC
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
Comment 68 jd1008 2011-05-06 05:41:56 UTC
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.
Comment 69 bjlockie 2011-05-06 19:40:49 UTC
#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).
Comment 70 jd1008 2011-05-06 20:14:08 UTC
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?
Comment 71 bjlockie 2011-05-06 20:56:48 UTC
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.
Comment 72 bjlockie 2011-05-06 21:03:31 UTC
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 ]---
Comment 73 jd1008 2011-05-10 20:20:17 UTC
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.
Comment 74 Lukasz Olszewski 2011-05-11 08:23:42 UTC
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.
Comment 75 jd1008 2011-05-11 14:47:24 UTC
(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.
Comment 76 bjlockie 2011-05-11 22:33:01 UTC
20 or 40MHz wide channel is wireless N-only.
The 2wire probably only does wireless G (mine is only G).
Comment 77 jd1008 2011-05-11 23:36:50 UTC
(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.
Comment 78 Lukasz Olszewski 2011-05-12 07:40:50 UTC
> 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.
Comment 79 jd1008 2011-05-17 21:09:39 UTC
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.
Comment 80 jd1008 2011-05-25 01:47:19 UTC
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!
Comment 81 jd1008 2011-05-27 05:15:46 UTC
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
Comment 82 jd1008 2011-06-07 02:01:00 UTC
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.

----------
Comment 83 jd1008 2011-06-08 03:40:45 UTC
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
Comment 84 sabidabi 2013-01-09 07:15:25 UTC
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
Comment 85 Eddie Dunn 2013-10-09 19:42:22 UTC
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