Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Audio subsystem versus unplugging uaudio
Hi,
Testing ohci recently, I came across a problem where our audio stack doesn't
handle removing an audio device whilst it's open. I connected a uaudio
device (dmesg below), ran mplayer:
:; mplayer -ao oss:device=/dev/audio1 track.ogg
and removed the uaudio device in the middle of the track. This resulted in
an endless stream (roughly once every 5 seconds) of:
audio1: audio_unlink: cv_timedwait_sig failed 35
and no USB device was recognised on that (phtsical) port. Also, when I
connected the uaudio device to another port, it kept incrementing the
device number - uaudio1/audio2, uaudio2/audio1, etc.
Finally, when rebooting, I saw:
panic: kernel diagnostic assertion "(target->prt_class == class)" failed: file "/usr/src/sys/kern/subr_psref.c", line 519 mismatched psref target class: 0x0 (ref) != 0x106eba700 (expected)
with a backtrace:
db{0}> bt
kern_assert(1adcb08, 1a370f0, 1adcae8, 1adc9d0, 207, 0) at netbsd:kern_assert+0x34
psref_target_destroy(109591e88, 106eba700, 1092688c0, 1a37100, 109591e70, e0048000) at netbsd:psref_target_destroy+0xf8
audiodetach(109591640, 4, ff070000000001, 109591e70, 0, 109591cc0) at netbsd:audiodetach+0xb8
config_detach(109591640, 4, 1c7b400, 1a37100, 1c70240, 1c3c220) at netbsd:config_detach+0x90
...
The devices that I tested with were:
ohci0 at pci0 dev 5 function 3: Sun Microsystems USB Controller (rev. 0x01)
ohci0: interrupting at ivec 21f
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ohci1 at pci0 dev 2 function 0: Acer Labs M5237 USB 1.1 Host Controller (rev. 0x03)
ohci1: interrupting at ivec 211
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
ohci2 at pci0 dev 2 function 1: Acer Labs M5237 USB 1.1 Host Controller (rev. 0x03)
ohci2: interrupting at ivec 211
ohci2: OHCI version 1.0, legacy support
usb2 at ohci2: USB revision 1.0
ehci0 at pci0 dev 2 function 3: Acer Labs M5239 USB 2.0 Host Controller (rev. 0x01)
ehci0: interrupting at ivec 210
ehci0: 2 companion controllers, 2 ports each: ohci1 ohci2
usb3 at ehci0: USB revision 2.0
uaudio0 at uhub0 port 4 configuration 1 interface 0
uaudio0: Logitech (0x046d) Logitech USB Headset (0x0a01), rev 1.10/10.13, addr 2
uaudio0: ignored input endpoint of type adaptive
uaudio0: audio rev 1.00
audio1 at uaudio0: playback
audio1: slinear_be:16 -> slinear_le:16 2ch 48000Hz, blk 11520 bytes (60ms) for playback
spkr1 at audio1: PC Speaker (synthesized)
wsbell at spkr1 not configured
Regards,
Julian
Home |
Main Index |
Thread Index |
Old Index