ath0: device timeout

Sam Leffler sam at errno.com
Mon May 1 19:43:41 UTC 2006


Ross Finlayson wrote:
> 
>> The only significant difference in ath between stable and current is 
>> that the task q thread runs at PI_NET on current and whatever priority 
>> kthread_create assigns on stable.  However I don't believe this is 
>> relevant.  A watchdog timeout means a tx request was pending for 5 
>> seconds w/o the hardware delivering a tx interrupt.  In my experience 
>> this occurs only when the tx descriptor is setup wrong and causes the 
>> tx dma h/w to wedge.  So when this happens what people need to provide 
>> is a dump of the tx descriptors and associated tx buffer state 
>> (athdebug reset will do that).
> 
> OK, I did this, and here is is the log (from /var/log/messages) of the 
> output, for three successive "ath0: device timeout errors":
> 
> May  1 08:29:02 ns kernel: ath0: device timeout
> May  1 08:29:02 ns kernel: ath_draintxq: beacon queue 0xe000440
> May  1 08:29:02 ns kernel: ath_tx_stopdma: tx queue [0] 0, link 0
> May  1 08:29:02 ns kernel: ath_tx_stopdma: tx queue [1] 0xf5cf600, link 
> 0xcd5ca600
> May  1 08:29:02 ns kernel: ath_tx_stopdma: tx queue [2] 0, link 0
> May  1 08:29:02 ns kernel: ath_tx_stopdma: tx queue [3] 0, link 0
> May  1 08:29:02 ns kernel: ath_tx_stopdma: tx queue [8] 0xf5c6b40, link 
> 0xcd5c5740
> May  1 08:29:02 ns kernel: Q1[  0] (DS.V:0xcd5ca600 DS.P:0xf5cf600) 
> L:00000000 D:0f7d00c4 F:043 *
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 20250001 
> 0102c44d
> May  1 08:29:02 ns kernel: Q8[  0] (DS.V:0xcd5c1b40 DS.P:0xf5c6b40) 
> L:0f5c8ee0 D:03d699c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  1] (DS.V:0xcd5c3ee0 DS.P:0xf5c8ee0) 
> L:0f5cd800 D:0031b0c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  2] (DS.V:0xcd5c8800 DS.P:0xf5cd800) 
> L:0f5d0aa0 D:0f71bbc4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  3] (DS.V:0xcd5cbaa0 DS.P:0xf5d0aa0) 
> L:0f5cccc0 D:087b59c4 F:0413
> May  1 08:29:02 ns kernel: 21260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  4] (DS.V:0xcd5c7cc0 DS.P:0xf5cccc0) 
> L:0f5cab00 D:074f41c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  5] (DS.V:0xcd5c5b00 DS.P:0xf5cab00) 
> L:0f5cc180 D:0f7cedc4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  6] (DS.V:0xcd5c7180 DS.P:0xf5cc180) 
> L:0f5cb280 D:0f7a39c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  7] (DS.V:0xcd5c6280 DS.P:0xf5cb280) 
> L:0f5ca1a0 D:0d03c4c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  8] (DS.V:0xcd5c51a0 DS.P:0xf5ca1a0) 
> L:0f5d17c0 D:0e00fec4 F:0413
> May  1 08:29:02 ns kernel: 21260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[  9] (DS.V:0xcd5cc7c0 DS.P:0xf5d17c0) 
> L:0f5cf420 D:0f7d02c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[ 10] (DS.V:0xcd5ca420 DS.P:0xf5cf420) 
> L:0f5d15e0 D:0d6577c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[ 11] (DS.V:0xcd5cc5e0 DS.P:0xf5d15e0) 
> L:0f5ca380 D:0f5fe7c4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[ 12] (DS.V:0xcd5c5380 DS.P:0xf5ca380) 
> L:0f5ca740 D:0bb86ec4 F:043
> May  1 08:29:02 ns kernel: 01260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: Q8[ 13] (DS.V:0xcd5c5740 DS.P:0xf5ca740) 
> L:00000000 D:08eb2ec4 F:0413
> May  1 08:29:02 ns kernel: 21260040 0100003c 00010000 0000001b 00000000 
> 00000000
> May  1 08:29:02 ns kernel: ath_stoprecv: rx queue 0xa6c2360, link 
> 0xc268e330
>

Q8 is the CAB queue; that's the queue were multicast frames buffered for 
stations in power save mode are held.

I thought you were reporting problems operating in station mode.

> #head -1 /etc/motd
> FreeBSD 6.1-PRERELEASE (GENERIC) #0: Sun Apr  2 19:24:21 PDT 2006

Sigh, why are you running old code?  This problem was fixed 4/19.

	Sam


More information about the freebsd-mobile mailing list