···37223722 } while (count--);3723372337243724 if (count == 0)37253725- dev_warn(codec->dev, "No impedence range reported for jack\n");37253725+ dev_warn(codec->dev, "No impedance range reported for jack\n");3726372637273727#ifndef CONFIG_SND_SOC_WM8994_MODULE37283728 trace_snd_soc_jack_irq(dev_name(codec->dev));
+13
sound/usb/endpoint.c
···35353636#define EP_FLAG_ACTIVATED 03737#define EP_FLAG_RUNNING 13838+#define EP_FLAG_STOPPING 238393940/*4041 * snd_usb_endpoint is a model that abstracts everything related to an···503502 if (alive)504503 snd_printk(KERN_ERR "timeout: still %d active urbs on EP #%x\n",505504 alive, ep->ep_num);505505+ clear_bit(EP_FLAG_STOPPING, &ep->flags);506506507507 return 0;508508+}509509+510510+/* sync the pending stop operation;511511+ * this function itself doesn't trigger the stop operation512512+ */513513+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep)514514+{515515+ if (ep && test_bit(EP_FLAG_STOPPING, &ep->flags))516516+ wait_clear_urbs(ep);508517}509518510519/*···929918930919 if (wait)931920 wait_clear_urbs(ep);921921+ else922922+ set_bit(EP_FLAG_STOPPING, &ep->flags);932923 }933924}934925
+1
sound/usb/endpoint.h
···1919int snd_usb_endpoint_start(struct snd_usb_endpoint *ep, int can_sleep);2020void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep,2121 int force, int can_sleep, int wait);2222+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep);2223int snd_usb_endpoint_activate(struct snd_usb_endpoint *ep);2324int snd_usb_endpoint_deactivate(struct snd_usb_endpoint *ep);2425void snd_usb_endpoint_free(struct list_head *head);
+3
sound/usb/pcm.c
···565565 goto unlock;566566 }567567568568+ snd_usb_endpoint_sync_pending_stop(subs->sync_endpoint);569569+ snd_usb_endpoint_sync_pending_stop(subs->data_endpoint);570570+568571 ret = set_format(subs, subs->cur_audiofmt);569572 if (ret < 0)570573 goto unlock;