summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanya Dixit <tdixit@codeaurora.org>2017-08-03 18:49:03 +0530
committerTanya Dixit <tdixit@codeaurora.org>2017-08-08 13:20:40 +0530
commit2fff7d7ae65ce4356ab75e22ebfdfd4ae05a2b65 (patch)
treeb372fd747532ceeab4a3971afcf772466ae30e23
parent58274ed8f17d7f826283d19c305fb7d85beecb3e (diff)
ASoC: msm: qdspv2: Fix missing mutex unlock in LSM client driver
Fix missing mutex unlock in LSM client driver. CRs-fixed: 2059497 Change-Id: If5da5ab2eeb424b86c0e6476b69aa6ed36e7ea72 Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
-rw-r--r--sound/soc/msm/qdsp6v2/msm-lsm-client.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/soc/msm/qdsp6v2/msm-lsm-client.c b/sound/soc/msm/qdsp6v2/msm-lsm-client.c
index 3e72aa130c18..35270e3340ec 100644
--- a/sound/soc/msm/qdsp6v2/msm-lsm-client.c
+++ b/sound/soc/msm/qdsp6v2/msm-lsm-client.c
@@ -1683,7 +1683,7 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
dev_err(rtd->dev,
"%s REG_SND_MODEL failed err %d\n",
__func__, err);
- return err;
+ goto done;
}
break;
case SNDRV_LSM_SET_PARAMS: {
@@ -1855,13 +1855,15 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
dev_err(rtd->dev,
"%s: Invalid params event_status_v3\n",
__func__);
- return -EINVAL;
+ err = -EINVAL;
+ goto done;
}
if (copy_from_user(&userarg, arg, sizeof(userarg))) {
dev_err(rtd->dev,
"%s: err copyuser event_status_v3\n",
__func__);
- return -EFAULT;
+ err = -EFAULT;
+ goto done;
}
if (userarg.payload_size >
@@ -1869,7 +1871,8 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
pr_err("%s: payload_size %d is invalid, max allowed = %d\n",
__func__, userarg.payload_size,
LISTEN_MAX_STATUS_PAYLOAD_SIZE);
- return -EINVAL;
+ err = -EINVAL;
+ goto done;
}
size = sizeof(struct snd_lsm_event_status_v3) +
@@ -1879,7 +1882,8 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
dev_err(rtd->dev,
"%s: Allocation failed event status size %d\n",
__func__, size);
- return -EFAULT;
+ err = -EFAULT;
+ goto done;
}
user->payload_size = userarg.payload_size;
err = msm_lsm_ioctl_shared(substream, cmd, user);