From 9adf04cadba995fc313382cd62bbb1cfb21be014 Mon Sep 17 00:00:00 2001 From: Ajit Pandey Date: Thu, 24 Oct 2019 13:45:11 +0530 Subject: [PATCH] asoc: msm-compress: Replace goto with return in case of invalid value In case of invalid values in _put() callback return directly to avoid deadlock issue with mutex unlocking in goto label. Change-Id: Ib0623e26dd83b96cd6ec315f515098b8ea0b2dd2 Signed-off-by: Ajit Pandey --- asoc/msm-compress-q6-v2.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/asoc/msm-compress-q6-v2.c b/asoc/msm-compress-q6-v2.c index 4347bec26ed6..67b559091b94 100644 --- a/asoc/msm-compress-q6-v2.c +++ b/asoc/msm-compress-q6-v2.c @@ -3702,8 +3702,7 @@ static int msm_compr_dec_params_put(struct snd_kcontrol *kcontrol, if (fe_id >= MSM_FRONTEND_DAI_MAX) { pr_err("%s Received out of bounds fe_id %lu\n", __func__, fe_id); - rc = -EINVAL; - goto end; + return -EINVAL; } cstream = pdata->cstream[fe_id]; @@ -3711,14 +3710,12 @@ static int msm_compr_dec_params_put(struct snd_kcontrol *kcontrol, if (!cstream || !dec_params) { pr_err("%s: stream or dec_params inactive\n", __func__); - rc = -EINVAL; - goto end; + return -EINVAL; } prtd = cstream->runtime->private_data; if (!prtd) { pr_err("%s: cannot set dec_params\n", __func__); - rc = -EINVAL; - goto end; + return -EINVAL; } mutex_lock(&pdata->lock); @@ -3975,22 +3972,19 @@ static int msm_compr_adsp_stream_cmd_put(struct snd_kcontrol *kcontrol, if (fe_id >= MSM_FRONTEND_DAI_MAX) { pr_err("%s Received invalid fe_id %lu\n", __func__, fe_id); - ret = -EINVAL; - goto done; + return -EINVAL; } cstream = pdata->cstream[fe_id]; if (cstream == NULL) { pr_err("%s cstream is null\n", __func__); - ret = -EINVAL; - goto done; + return -EINVAL; } prtd = cstream->runtime->private_data; if (!prtd) { pr_err("%s: prtd is null\n", __func__); - ret = -EINVAL; - goto done; + return -EINVAL; } mutex_lock(&pdata->lock); @@ -4041,22 +4035,19 @@ static int msm_compr_ion_fd_map_put(struct snd_kcontrol *kcontrol, if (fe_id >= MSM_FRONTEND_DAI_MAX) { pr_err("%s Received out of bounds invalid fe_id %lu\n", __func__, fe_id); - ret = -EINVAL; - goto done; + return -EINVAL; } cstream = pdata->cstream[fe_id]; if (cstream == NULL) { pr_err("%s cstream is null\n", __func__); - ret = -EINVAL; - goto done; + return -EINVAL; } prtd = cstream->runtime->private_data; if (!prtd) { pr_err("%s: prtd is null\n", __func__); - ret = -EINVAL; - goto done; + return -EINVAL; } mutex_lock(&pdata->lock); @@ -4090,8 +4081,7 @@ static int msm_compr_rtic_event_ack_put(struct snd_kcontrol *kcontrol, if (fe_id >= MSM_FRONTEND_DAI_MAX) { pr_err("%s Received invalid fe_id %lu\n", __func__, fe_id); - ret = -EINVAL; - goto done; + return -EINVAL; } mutex_lock(&pdata->lock);