cvs commit: src/sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c
ariff at FreeBSD.org
Fri Mar 16 17:19:04 UTC 2007
ariff 2007-03-16 17:19:04 UTC
FreeBSD src repository
sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c
- SWAPLR quirk for (unknown, luckily it is mine) broken uaudio stick.
Fixing by rewiring is impossible without damaging it. Luckily,
we can fix it using "other" methods :) .
- Add uaudio_get_vendor(), _product() and _release() in uaudio.c
(currently used by uaudio_pcm quirk).
- Implement CHANNEL_SETFRAGMENTS().
- Drop channel locking in few places where it is about to sleep
somewhere. This should help eliminating illegal locking acquisition
where the current thread is about to sleep, and also few deadlock
cases. Dropping it right here is quite safe since it is already
protected by CHN_F_BUSY flag and other threads won't bother to touch it.
Solving other illegal locking issues are quite tricky without converting
most usbd_do_request() calls to its equivalent _async() calls,
which I intend to do it later after getting full test report from
other people with different uaudio hardwares.
- Fix memory leak issues during detach. This seems common to any drivers
(notably emu10kx, csapcm?) with bridge functions.
Revision Changes Path
1.26 +86 -6 src/sys/dev/sound/usb/uaudio.c
1.8 +3 -0 src/sys/dev/sound/usb/uaudio.h
1.21 +71 -8 src/sys/dev/sound/usb/uaudio_pcm.c
More information about the cvs-src