]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: qcom: sdm845: Add error handling in sdm845_slim_snd_hw_params()
authorWentao Liang <vulab@iscas.ac.cn>
Mon, 19 May 2025 07:57:39 +0000 (15:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:04:11 +0000 (11:04 +0100)
commit 688abe2860fd9c644705b9e11cb9649eb891b879 upstream.

The function sdm845_slim_snd_hw_params() calls the functuion
snd_soc_dai_set_channel_map() but does not check its return
value. A proper implementation can be found in msm_snd_hw_params().

Add error handling for snd_soc_dai_set_channel_map(). If the
function fails and it is not a unsupported error, return the
error code immediately.

Fixes: 5caf64c633a3 ("ASoC: qcom: sdm845: add support to DB845c and Lenovo Yoga")
Cc: stable@vger.kernel.org # v5.6
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20250519075739.1458-1-vulab@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/qcom/sdm845.c

index 6be7a32933ad09a35b1f1fbe145b761ecd44b1f7..8a63cf03eb3ae185885826b1ae101cd3a1bdc3ed 100644 (file)
@@ -78,6 +78,10 @@ static int sdm845_slim_snd_hw_params(struct snd_pcm_substream *substream,
                else
                        ret = snd_soc_dai_set_channel_map(cpu_dai, tx_ch_cnt,
                                                          tx_ch, 0, NULL);
+               if (ret != 0 && ret != -ENOTSUPP) {
+                       dev_err(rtd->dev, "failed to set cpu chan map, err:%d\n", ret);
+                       return ret;
+               }
        }
 
        return 0;