Merge branch 'for-linus' into for-next
This commit is contained in:
@@ -384,6 +384,9 @@ static void snd_complete_urb(struct urb *urb)
|
||||
if (unlikely(atomic_read(&ep->chip->shutdown)))
|
||||
goto exit_clear;
|
||||
|
||||
if (unlikely(!test_bit(EP_FLAG_RUNNING, &ep->flags)))
|
||||
goto exit_clear;
|
||||
|
||||
if (usb_pipeout(ep->pipe)) {
|
||||
retire_outbound_urb(ep, ctx);
|
||||
/* can be stopped during retire callback */
|
||||
@@ -534,6 +537,11 @@ static int wait_clear_urbs(struct snd_usb_endpoint *ep)
|
||||
alive, ep->ep_num);
|
||||
clear_bit(EP_FLAG_STOPPING, &ep->flags);
|
||||
|
||||
ep->data_subs = NULL;
|
||||
ep->sync_slave = NULL;
|
||||
ep->retire_data_urb = NULL;
|
||||
ep->prepare_data_urb = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1006,10 +1014,6 @@ void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep)
|
||||
|
||||
if (--ep->use_count == 0) {
|
||||
deactivate_urbs(ep, false);
|
||||
ep->data_subs = NULL;
|
||||
ep->sync_slave = NULL;
|
||||
ep->retire_data_urb = NULL;
|
||||
ep->prepare_data_urb = NULL;
|
||||
set_bit(EP_FLAG_STOPPING, &ep->flags);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -932,9 +932,10 @@ static void volume_control_quirks(struct usb_mixer_elem_info *cval,
|
||||
case USB_ID(0x046d, 0x0826): /* HD Webcam c525 */
|
||||
case USB_ID(0x046d, 0x08ca): /* Logitech Quickcam Fusion */
|
||||
case USB_ID(0x046d, 0x0991):
|
||||
case USB_ID(0x046d, 0x09a2): /* QuickCam Communicate Deluxe/S7500 */
|
||||
/* Most audio usb devices lie about volume resolution.
|
||||
* Most Logitech webcams have res = 384.
|
||||
* Proboly there is some logitech magic behind this number --fishor
|
||||
* Probably there is some logitech magic behind this number --fishor
|
||||
*/
|
||||
if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
|
||||
usb_audio_info(chip,
|
||||
|
||||
Reference in New Issue
Block a user