aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorWentao Liang <vulab@iscas.ac.cn>2025-05-19 15:57:39 +0800
committerMark Brown <broonie@kernel.org>2025-05-20 10:24:59 +0100
commit688abe2860fd9c644705b9e11cb9649eb891b879 (patch)
tree9da8a56af49f5bead959fdce217a1cf2f1b13364 /sound
parentASoC: apple: mca: Constrain channels according to TDM mask (diff)
downloadlinux-rng-688abe2860fd9c644705b9e11cb9649eb891b879.tar.xz
linux-rng-688abe2860fd9c644705b9e11cb9649eb891b879.zip
ASoC: qcom: sdm845: Add error handling in sdm845_slim_snd_hw_params()
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>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/qcom/sdm845.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/qcom/sdm845.c b/sound/soc/qcom/sdm845.c
index fcc7df75346f..a233b80049ee 100644
--- a/sound/soc/qcom/sdm845.c
+++ b/sound/soc/qcom/sdm845.c
@@ -91,6 +91,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;