Merge "ASoC: msm: qdspv2: Fix missing mutex unlock in LSM client driver"

This commit is contained in:
Linux Build Service Account 2017-08-09 03:18:20 -07:00 committed by Gerrit - the friendly Code Review server
commit ea1901ceaf

View file

@ -1683,7 +1683,7 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
dev_err(rtd->dev, dev_err(rtd->dev,
"%s REG_SND_MODEL failed err %d\n", "%s REG_SND_MODEL failed err %d\n",
__func__, err); __func__, err);
return err; goto done;
} }
break; break;
case SNDRV_LSM_SET_PARAMS: { case SNDRV_LSM_SET_PARAMS: {
@ -1855,13 +1855,15 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
dev_err(rtd->dev, dev_err(rtd->dev,
"%s: Invalid params event_status_v3\n", "%s: Invalid params event_status_v3\n",
__func__); __func__);
return -EINVAL; err = -EINVAL;
goto done;
} }
if (copy_from_user(&userarg, arg, sizeof(userarg))) { if (copy_from_user(&userarg, arg, sizeof(userarg))) {
dev_err(rtd->dev, dev_err(rtd->dev,
"%s: err copyuser event_status_v3\n", "%s: err copyuser event_status_v3\n",
__func__); __func__);
return -EFAULT; err = -EFAULT;
goto done;
} }
if (userarg.payload_size > 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", pr_err("%s: payload_size %d is invalid, max allowed = %d\n",
__func__, userarg.payload_size, __func__, userarg.payload_size,
LISTEN_MAX_STATUS_PAYLOAD_SIZE); LISTEN_MAX_STATUS_PAYLOAD_SIZE);
return -EINVAL; err = -EINVAL;
goto done;
} }
size = sizeof(struct snd_lsm_event_status_v3) + 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, dev_err(rtd->dev,
"%s: Allocation failed event status size %d\n", "%s: Allocation failed event status size %d\n",
__func__, size); __func__, size);
return -EFAULT; err = -EFAULT;
goto done;
} }
user->payload_size = userarg.payload_size; user->payload_size = userarg.payload_size;
err = msm_lsm_ioctl_shared(substream, cmd, user); err = msm_lsm_ioctl_shared(substream, cmd, user);