From 8ee6cdc3f70bdca3402da36a7fdca439795eea10 Mon Sep 17 00:00:00 2001 From: hselasky Date: Wed, 14 Dec 2011 01:03:07 +0000 Subject: Use usbd_transfer_unsetup() instead of usbd_transfer_stop() so that we don't have to worry about locking. MFC after: 1 weeks --- sys/dev/sound/usb/uaudio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sys/dev/sound') 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"); -- cgit v1.1