summaryrefslogtreecommitdiff
path: root/sound/usb/stream.c
diff options
context:
space:
mode:
authorHemant Kumar <hemantk@codeaurora.org>2016-01-28 11:41:42 -0800
committerKyle Yan <kyan@codeaurora.org>2016-07-11 18:56:26 -0700
commitc73c7f1d9a4de0a85e64ea60b43ae9de33ee655c (patch)
tree0194eb3af132a970c910597b152a8948769bcd40 /sound/usb/stream.c
parentaade9051eb93ca7195ab3a84f8e04f334e80a4ad (diff)
sound: usb: Add support for usb audio qmi service
Upon usb audio device enumeration remote entity communicates with usb audio qmi server to enable or disable particular audio stream on usb audio device. This off loades ISOC data transfer operations to remote entity and allows APQ to go to power collapse more frequently for better power saving. Change-Id: I2c9b0ba0837f8fec5c320e3117aa3b2f553db6b2 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Diffstat (limited to 'sound/usb/stream.c')
-rw-r--r--sound/usb/stream.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index 8ee14f2365e7..81172a395e55 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -69,9 +69,14 @@ static void snd_usb_audio_stream_free(struct snd_usb_stream *stream)
static void snd_usb_audio_pcm_free(struct snd_pcm *pcm)
{
struct snd_usb_stream *stream = pcm->private_data;
+ struct snd_usb_audio *chip;
+
if (stream) {
+ mutex_lock(&stream->chip->dev_lock);
+ chip = stream->chip;
stream->pcm = NULL;
snd_usb_audio_stream_free(stream);
+ mutex_unlock(&chip->dev_lock);
}
}