diff options
author | hselasky <hselasky@FreeBSD.org> | 2011-12-14 01:03:07 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2011-12-14 01:03:07 +0000 |
commit | 8ee6cdc3f70bdca3402da36a7fdca439795eea10 (patch) | |
tree | 9784fa507496cbf1471e4416e63dbf708cdb847f /sys/dev/sound | |
parent | 4109c91af29dcf4def6bc00f2bb1aec47bfff734 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/sound/usb/uaudio.c | 6 |
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"); |