summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function
diff options
context:
space:
mode:
authorAjay Agarwal <ajaya@codeaurora.org>2019-01-08 19:26:43 +0530
committerAjay Agarwal <ajaya@codeaurora.org>2019-01-09 10:16:50 +0530
commitbf415bc503f97c20ab753de010f2420b4c25f9cc (patch)
treeb99ca6febfa86143bdf28c0c2497103d83270877 /drivers/usb/gadget/function
parentcd2a8f0e2c115182e8f6e7c4d17aa3ace0315a80 (diff)
Revert "usb: gadget: u_audio: protect stream runtime fields with stream spinlock"
This reverts commit 5e5109f539aa4c5086465169481ee01dd579d008. Required for clean picking of UAC opensource changes. Change-Id: If8690a51ff85f45d90581092425787f40ab4b711 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Diffstat (limited to 'drivers/usb/gadget/function')
-rw-r--r--drivers/usb/gadget/function/u_audio.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/usb/gadget/function/u_audio.c b/drivers/usb/gadget/function/u_audio.c
index d3a639297e06..e9644137f720 100644
--- a/drivers/usb/gadget/function/u_audio.c
+++ b/drivers/usb/gadget/function/u_audio.c
@@ -88,7 +88,7 @@ static const struct snd_pcm_hardware uac_pcm_hardware = {
static void u_audio_iso_complete(struct usb_ep *ep, struct usb_request *req)
{
unsigned pending;
- unsigned long flags, flags2;
+ unsigned long flags;
unsigned int hw_ptr;
int status = req->status;
struct uac_req *ur = req->context;
@@ -115,14 +115,7 @@ static void u_audio_iso_complete(struct usb_ep *ep, struct usb_request *req)
if (!substream)
goto exit;
- snd_pcm_stream_lock_irqsave(substream, flags2);
-
runtime = substream->runtime;
- if (!runtime || !snd_pcm_running(substream)) {
- snd_pcm_stream_unlock_irqrestore(substream, flags2);
- goto exit;
- }
-
spin_lock_irqsave(&prm->lock, flags);
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
@@ -181,7 +174,6 @@ static void u_audio_iso_complete(struct usb_ep *ep, struct usb_request *req)
prm->hw_ptr = (hw_ptr + req->actual) % runtime->dma_bytes;
hw_ptr = prm->hw_ptr;
spin_unlock_irqrestore(&prm->lock, flags);
- snd_pcm_stream_unlock_irqrestore(substream, flags2);
if ((hw_ptr % snd_pcm_lib_period_bytes(substream)) < req->actual)
snd_pcm_period_elapsed(substream);