[bug report] ASoC: amd: add vangogh machine driver
Dan Carpenter
dan.carpenter at oracle.com
Thu Nov 25 15:59:52 CET 2021
Hello Vijendar Mukunda,
The patch 34a0094b9ff7: "ASoC: amd: add vangogh machine driver" from
Oct 14, 2021, leads to the following Smatch static checker warning:
sound/soc/amd/vangogh/acp5x-mach.c:190 acp5x_cs35l41_hw_params()
error: uninitialized symbol 'ret'.
sound/soc/amd/vangogh/acp5x-mach.c
158 static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *substream,
159 struct snd_pcm_hw_params *params)
160 {
161 struct snd_soc_pcm_runtime *rtd = substream->private_data;
162 struct snd_soc_card *card = rtd->card;
163 struct snd_soc_dai *codec_dai;
164 int ret, i;
165 unsigned int num_codecs = rtd->num_codecs;
166 unsigned int bclk_val;
167
168 for (i = 0; i < num_codecs; i++) {
169 codec_dai = asoc_rtd_to_codec(rtd, i);
170 if ((strcmp(codec_dai->name, "spi-VLV1776:00") == 0) ||
171 (strcmp(codec_dai->name, "spi-VLV1776:01") == 0)) {
How positive are we that we're always going to find one of these codecs?
Smatch is worried we might not find them.
172 switch (params_rate(params)) {
173 case 48000:
174 bclk_val = 1536000;
175 break;
176 default:
177 dev_err(card->dev, "Invalid Samplerate:0x%x\n",
178 params_rate(params));
179 return -EINVAL;
180 }
181 ret = snd_soc_component_set_sysclk(codec_dai->component,
182 0, 0, bclk_val, SND_SOC_CLOCK_IN);
183 if (ret < 0) {
184 dev_err(card->dev, "failed to set sysclk for CS35l41 dai\n");
185 return ret;
186 }
187 }
188 }
189
--> 190 return ret;
^^^^^^^^^^
Also it's a bit more readable to "return 0;" if we know this is a
success path.
191 }
regards,
dan carpenter
More information about the Alsa-devel
mailing list