USB audio lockup in 2.3.99-pre8 onwards.

From: David Woodhouse (dwmw2@infradead.org)
Date: Mon May 22 2000 - 05:24:21 EST


With 2.3.99-pre8 and later kernels (I didn't ever compile pre7) on my BP6
motherboard, I can no longer use a USB audio device. I think that interrupts
are going missing. This happens with both the usb-uhci driver and the old
uhci driver.

Upon attempting 'cat /proc/bus/usb/devices', I see long pauses, while the
kernel complains:

usb-uhci.c: interrupt, status 2, frame# 2032
usb_control/bulk_msg: timeout

When attempting to play audio, I get:

NMI Watchdog detected LOCKUP on CPU1, registers:
CPU: 1
EIP: 0010:[<ca8770d2>]
EFLAGS: 00000086
eax: 00000086 ebx: c4c506e0 ecx: c4c2c000 edx: c4c506ec
esi: c4c506e0 edi: 00000086 ebp: c4c50000 esp: c4c2dee8
ds: 0018 es: 0018 ss: 0018
Process sox (pid: 1229, stackpage=c4c2d000)
Stack: 00000000 00005001 c4c50000 00000002 c4c506ec c4c2df30 c4c2df30 c4c2c000
       01234567 c4c2c000 00000000 00000000 c4c2df30 00000000 01234567 c4c2c000
       c4c506e4 c4c506e4 c4c2df30 00000000 ca8734eb c4c50000 00000000 c4cd0f40
Call Trace: [<ca8734eb>] [<c012a493>] [<c012a3ac>] [<c0146c0d>] [<ca873308>] [<c010b5bc>]
Code: 80 7d 14 00 f3 90 7e f8 e9 62 b7 ff ff 80 bd e0 06 00 00 00
console shuts up ...

>EIP; ca8770d2 <[audio].text.end+11d/2ab> <=====
Trace; ca8734eb <[audio]usb_audio_ioctl+1e3/b58>
Trace; c012a493 <generic_file_read+63/80>
Trace; c012a3ac <file_read_actor+0/84>
Trace; c0146c0d <sys_ioctl+201/264>
Trace; ca873308 <[audio]usb_audio_ioctl+0/b58>
Trace; c010b5bc <system_call+34/38>
Code; ca8770d2 <[audio].text.end+11d/2ab>
00000000 <_EIP>:
Code; ca8770d2 <[audio].text.end+11d/2ab> <=====
   0: 80 7d 14 00 cmpb $0x0,0x14(%ebp) <=====
Code; ca8770d6 <[audio].text.end+121/2ab>
   4: f3 90 repz nop
Code; ca8770d8 <[audio].text.end+123/2ab>
   6: 7e f8 jle 0 <_EIP>
Code; ca8770da <[audio].text.end+125/2ab>
   8: e9 62 b7 ff ff jmp ffffb76f <_EIP+0xffffb76f> ca872841 <[audio]drain_out+299/344>
Code; ca8770df <[audio].text.end+12a/2ab>
   d: 80 bd e0 06 00 00 00 cmpb $0x0,0x6e0(%ebp)

The device in question is:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0471 ProdID=0104 Rev= 1.00
S: Product=Philips USB Digital Speaker System
C:* #Ifs= 3 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=audio
I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=audio
I: If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 56 Ivl= 1ms
I: If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 112 Ivl= 1ms
I: If#= 1 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 112 Ivl= 1ms
I: If#= 1 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 224 Ivl= 1ms
I: If#= 1 Alt= 5 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 168 Ivl= 1ms
I: If#= 1 Alt= 6 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E: Ad=04(O) Atr=09(Isoc) MxPS= 336 Ivl= 1ms
I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=83(I) Atr=03(Int.) MxPS= 1 Ivl= 10ms

It always used to work in -pre6, but last night I reverted to -pre6 because
I wanted it to work, and it did the same after a few minutes of playing -
I'd previously had it running for hours in -pre6, and it always locks up
immediately in -pre8 onwards.

--
dwmw2

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:21 EST