summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/usb
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2011-12-14 01:03:07 +0000
committerhselasky <hselasky@FreeBSD.org>2011-12-14 01:03:07 +0000
commit8ee6cdc3f70bdca3402da36a7fdca439795eea10 (patch)
tree9784fa507496cbf1471e4416e63dbf708cdb847f /sys/dev/sound/usb
parent4109c91af29dcf4def6bc00f2bb1aec47bfff734 (diff)
downloadFreeBSD-src-8ee6cdc3f70bdca3402da36a7fdca439795eea10.zip
FreeBSD-src-8ee6cdc3f70bdca3402da36a7fdca439795eea10.tar.gz
Use usbd_transfer_unsetup() instead of usbd_transfer_stop() so that
we don't have to worry about locking. MFC after: 1 weeks
Diffstat (limited to 'sys/dev/sound/usb')
-rw-r--r--sys/dev/sound/usb/uaudio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index e6b4a1b..7d97a42 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -770,8 +770,10 @@ uaudio_detach(device_t dev)
* will time out and close opened /dev/dspX.Y device(s), if
* any.
*/
- uaudio_chan_stop(&sc->sc_play_chan);
- uaudio_chan_stop(&sc->sc_rec_chan);
+ if (sc->sc_play_chan.valid)
+ usbd_transfer_unsetup(sc->sc_play_chan.xfer, UAUDIO_NCHANBUFS);
+ if (sc->sc_rec_chan.valid)
+ usbd_transfer_unsetup(sc->sc_rec_chan.xfer, UAUDIO_NCHANBUFS);
if (bus_generic_detach(dev) != 0) {
DPRINTF("detach failed!\n");
OpenPOWER on IntegriCloud