Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jun 2007 19:06:32 +0200
From:      Thierry Herbelot <thierry@herbelot.com>
To:        freebsd-current@freebsd.org
Subject:   panic when detecting an ES1373 AudioPCI sound card
Message-ID:  <200706011906.32987.thierry@herbelot.com>

next in thread | raw e-mail | index | archive | help
Hello,

The panic happens when probing the various devices of the machine (dual 
Celeron + 440BX), running the GENERIC -current kernel (with all debugging 
options) :

panic: _mtx_lock_sleep: recursed on non-recursive mutex pcm0 
@ /tank/files1/src/sys/modules/sound/driver/es137x/../../../../dev/sound/pci/es137x.c:510

cpuid = 0
KDB: enter: panic
[thread pid 0 tid 0 ]
Stopped at      kdb_enter+0x32: leave
db> where
Tracing pid 0 tid 0 td 0xc0b23e00
kdb_enter(c0a1d73c,0,c0a1c674,c1020830,0,...) at kdb_enter+0x32
panic(c0a1c674,c2555330,c0c9a40f,1fe,c242eac0,...) at panic+0x124
_mtx_lock_sleep(c242eac0,c0b23e00,0,c0c9a40f,1fe,...) at _mtx_lock_sleep+0x4a
_mtx_lock_flags(c242eac0,0,c0c9a40f,1fe,c2555450,...) at _mtx_lock_flags+0xef
eschan_setformat(c2555450,c255a2c8,10000010,66f,c2550a00,...) at 
eschan_setformat+0x3d
chn_tryspeed(c2555450,c255a2c8,c0cd04b7,c2550900,0,...) at chn_tryspeed+0x26a
chn_setformat(c2550900,10000010,c0cd4058,423,10000010,...) at 
chn_setformat+0x1f
chn_reset(c2550900,10000010,c0cd1fe6,32c,ffffffff,...) at chn_reset+0xe0
vchan_create(c2550900,ffffffff,c0cd18aa,e3,1,...) at vchan_create+0x275
pcm_setvchans(ffffffff,c25554b0,8,c256d840,c255a400,...) at 
pcm_setvchans+0x2f3
pcm_setmaxautovchans(c2510a00,7,c25552a0,c2550300,c25552a0,...) at 
pcm_setmaxautovchans+0xa2
pcm_setstatus(c2510a00,c1020a34,ffffffff,c0c9a67f,c0000002,...) at 
pcm_setstatus+0x1f
es_pci_attach(c2510a00,c250584c,c0ac4b3c,c0a1fb0f,80000000,...) at 
es_pci_attach+0x11c9
device_attach(c2510a00,c2510a00,c0a1fa65,917,c2510a00,...) at 
device_attach+0x36f
device_probe_and_attach(c2510a00,0,c1020b2c,c062ddfd,c2466680,...) at 
device_probe_and_attach+0x100
bus_generic_attach(c2466680,0,d0,c1020b20,0) at bus_generic_attach+0x19
pci_attach(c2466680,c247904c,c0ac4b3c,c0a1fb0f,80000000,...) at 
pci_attach+0x9d
device_attach(c2466680,c2466680,c0a1fa65,917,c2466680,...) at 
device_attach+0x36f
device_probe_and_attach(c2466680,c2466700,c1020bc8,c097f340,c2466700,...) at 
device_probe_and_attach+0x100
bus_generic_attach(c2466700,c0a422e8,0,c1020bbc,0) at bus_generic_attach+0x19
mptable_hostb_attach(c2466700,c24dd84c,c0ac4b3c,c0a1fb0f,80000000,...) at 
mptable_hostb_attach+0x80
device_attach(c2466700,c2466700,c0a1fa65,917,c2466700,...) at 
device_attach+0x36f
device_probe_and_attach(c2466700,10,c1020c60,c0975e37,c2466980,...) at 
device_probe_and_attach+0x100
bus_generic_attach(c2466980,0,c0a1f4d3,1,c2509686,...) at 
bus_generic_attach+0x19
legacy_attach(c2466980,c24d904c,c0ac4b3c,c0a1fb0f,80000000,...) at 
legacy_attach+0xa7
device_attach(c2466980,c2466980,c0a1fa65,917,c2466980,...) at 
device_attach+0x36f
device_probe_and_attach(c2466980,c24c2180,c1020ce8,c098064a,c24c2180,...) at 
device_probe_and_attach+0x100
bus_generic_attach(c24c2180,c25085d5,c1020d2c,c075bd5f,c24c2180,...) at 
bus_generic_attach+0x19
nexus_attach(c24c2180,c24dd04c,c0ac4b3c,c0a1fb0f,80000000,...) at 
nexus_attach+0x1a
device_attach(c24c2180,c24c2180,c0a1fa65,917,c24c2180,...) at 
device_attach+0x36f
device_probe_and_attach(c24c2180,c241bdb4,c1020d6c,c0968d2c,c0ac3464,...) at 
device_probe_and_attach+0x100
root_bus_configure(c0ac3464,c1020d88,c0709696,0,101ec00,...) at 
root_bus_configure+0x1b
configure(0,101ec00,101ec00,101e000,1028000,...) at configure+0xc
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
db>                             

the card is a :
none1@pci0:17:0:        class=0x040100 card=0x4c4c4942 chip=0x50001274 
rev=0x00 hdr=0x00
    vendor     = 'Creative (Was: Ensoniq)'
    device     = 'ES1373 AudioPCI'
    class      = multimedia
    subclass   = audio

the kernel and world sources were updated this morning around Fri Jun  1 06:48 
UTC 2007. The kernel and world have been rebuilt via :
make update && make -DNO_CLEAN buildworld && make -j2 buildkernel
the source code for the specific board seems to be quite old :
FreeBSD: src/sys/dev/sound/pci/es137x.c,v 1.65 2007/04/18 18:26:39 ariff Exp

the previous kernel+world worked fine, including probing both sound cards (one 
on PCI, and the other on ISA).

The same kernel is currently running after unloading all kld modules.

	TfH



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706011906.32987.thierry>