emu10k1 driver BUG()
I'm trying to use rawrec with a SB Live, but I get a kernel BUG():
al@mater:~$ rawrec file.raw
kernel BUG at audio.c:1474!
invalid operand: 0000
CPU: 0
EIP: 0010:[<e289a343>] Not tainted
EFLAGS: 00010082
eax: 00000029 ebx: df979d08 ecx: c0332958 edx: de718000
esi: 0000e000 edi: 00005555 ebp: 00003556 esp: de719ecc
ds: 0018 es: 0018 ss: 0018
Process rawrec (pid: 558, stackpage=de719000)
Stack: e28a29a0 0000e000 00005555 00000202 df979cc0 00000000 bffff038 0000ffff
00018000 0001c000 00010000 00014000 e289962e df979cc0 c0045004 ffffffe7
bffff038 dfb9c0c0 c168d340 e28a49c0 dfb9c0c0 00000000 df979cc0 00000000
Call Trace: [<e28a29a0>] [<e289962e>] [<e28a49c0>] [<c0135d42>] [<c0142ee9>]
[<c01086e3>]Code: 0f 0b c5 05 80 29 8a e2 83 c4 0c 89 f6 5b 5e 5f 5d 83 c4 14 Segmentation fault
In line 1474 I see
if (buffer->size % buffer->fragment_size)
BUG();
I've added a printk just before the BUG() call and I got this:
buffer->size = 57344; buffer->fragment_size = 21845
Kernel version is 2.4.19-pre7-ac2, same with 2.4.19-pre3-ac6 + preempt patch. I've not tried with earlier versions, nor 2.5.x tree.
Attached file is an 'lspci -vv' output relative to the sound card.
Loaded modules are:
al@mater:~$ /sbin/lsmod Module Size Used by Tainted: PF smbfs 33216 2 (autoclean) mousedev 3968 1 usb-storage 21116 0 (unused) hid 12992 0 (unused) input 3456 0 [mousedev hid] usb-uhci 22404 0 (unused) usbcore 37600 0 [usb-storage hid usb-uhci] emu10k1 59328 0 ac97_codec 9696 0 [emu10k1] sound 55276 0 [emu10k1] 8139too 14272 1 mii 1136 0 [8139too]
Regards,
Luca
00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 04)
Subsystem: Creative Labs CT4620 SBLive!
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 12
Region 0: I/O ports at d000 [size=32]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-