Massive sound changes / fix (24/32bit pcm support,
new sampling rate converter, various fixes)
Pyun YongHyeon
pyunyh at gmail.com
Mon Jul 11 02:16:40 GMT 2005
On Sun, Jul 10, 2005 at 05:13:40AM -0500, Jonathan Noack wrote:
[...]
>
> I also see this LOR when detaching:
> lock order reversal
> 1st 0xc23a2cc0 pcm0 (sound cdev) @
> /usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/sound.c:706
> 2nd 0xc0837760 sndstat (sndstat) @
> /usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/sndstat.c:256
> KDB: stack backtrace:
> witness_checkorder(c0837760,9,c08330a8,100,c050c874) at
> witness_checkorder+0x3af
> _sx_xlock(c0837760,c08330a8,100,0,c234ca00) at _sx_xlock+0x5c
> sndstat_unregister(c2376e00,c25f4700,c08331a6,2c2,c2376e00) at
> sndstat_unregister+0x27
> pcm_unregister(c2376e00,c06f75b0,c2376e00,f9771be8,c2376e00) at
> pcm_unregister+0x112
> es_pci_detach(c2376e00,c2333850,c06f75b0,961,c08439c0) at es_pci_detach+0x17
> device_detach(c2376e00,c08425f0,c2320640,1,c22fb000) at device_detach+0x8f
> devclass_delete_driver(c22fb000,c08439c0,0,0,c226edc0) at
> devclass_delete_driver+0xcb
> driver_module_handler(c226edc0,1,c08439ac) at driver_module_handler+0xd9
> module_unload(c226edc0,0,1fb,c2274d00,3) at module_unload+0x66
> linker_file_unload(c2274d00,0,c06c4f26,327,bfbfe890) at
> linker_file_unload+0x276
> kern_kldunload(0,f9771d04,8,421,2) at kern_kldunload+0x8d
> syscall(3b,3b,3b,3,bfbfedf6) at syscall+0x13b
> Xint0x80_syscall() at Xint0x80_syscall+0x1f
> --- syscall (444, FreeBSD ELF32, kldunloadf), eip = 0x280c0e63, esp =
> 0xbfbfe88c, ebp = 0xbfbfecf8 ---
>
AFAIK this is not real LOR(WITNESS was confused). As you know it's not
legal to grab sx lock while holding a mutex. I think almost all MPSAFE
audio drivers suffer from the same issue. So I guess it's ok to ignore
the issue for a while.
The LOR message would be the result of truckman's commit(rev. 1.18
sndstat.c). He already knows the issue but I don't know current status
of the fix.
--
Regards,
Pyun YongHyeon
More information about the freebsd-multimedia
mailing list