ALSA: usb-audio: don't deactivate URBs on in-use EP
authorEldad Zack <eldad@fogrefinery.com>
Sun, 6 Oct 2013 20:31:09 +0000 (22:31 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 7 Oct 2013 08:55:14 +0000 (10:55 +0200)
If an endpoint in use, its associated URBs should not be
deactivated.

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/endpoint.c

index 5dd51af..e84732c 100644 (file)
@@ -959,12 +959,12 @@ int snd_usb_endpoint_deactivate(struct snd_usb_endpoint *ep)
        if (!ep)
                return -EINVAL;
 
-       deactivate_urbs(ep, true);
-       wait_clear_urbs(ep);
-
        if (ep->use_count != 0)
                return 0;
 
+       deactivate_urbs(ep, true);
+       wait_clear_urbs(ep);
+
        clear_bit(EP_FLAG_ACTIVATED, &ep->flags);
 
        return 0;