diff options
Diffstat (limited to 'sound/usb/endpoint.c')
-rw-r--r-- | sound/usb/endpoint.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 6db2143350d3..f487d26f8d40 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c | |||
@@ -896,8 +896,11 @@ __error: | |||
896 | * actually be deactivated. | 896 | * actually be deactivated. |
897 | * | 897 | * |
898 | * Must be balanced to calls of snd_usb_endpoint_start(). | 898 | * Must be balanced to calls of snd_usb_endpoint_start(). |
899 | * | ||
900 | * The caller needs to synchronize the pending stop operation via | ||
901 | * snd_usb_endpoint_sync_pending_stop(). | ||
899 | */ | 902 | */ |
900 | void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep, bool wait) | 903 | void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep) |
901 | { | 904 | { |
902 | if (!ep) | 905 | if (!ep) |
903 | return; | 906 | return; |
@@ -911,11 +914,7 @@ void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep, bool wait) | |||
911 | ep->sync_slave = NULL; | 914 | ep->sync_slave = NULL; |
912 | ep->retire_data_urb = NULL; | 915 | ep->retire_data_urb = NULL; |
913 | ep->prepare_data_urb = NULL; | 916 | ep->prepare_data_urb = NULL; |
914 | 917 | set_bit(EP_FLAG_STOPPING, &ep->flags); | |
915 | if (wait) | ||
916 | wait_clear_urbs(ep); | ||
917 | else | ||
918 | set_bit(EP_FLAG_STOPPING, &ep->flags); | ||
919 | } | 918 | } |
920 | } | 919 | } |
921 | 920 | ||