Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: Return early with -EINVAL if invalid dai format is detected

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

authored by

Axel Lin and committed by
Mark Brown
ac60155f 3c086001

+8 -9
+4 -4
sound/soc/codecs/cs4270.c
··· 261 261 { 262 262 struct snd_soc_codec *codec = codec_dai->codec; 263 263 struct cs4270_private *cs4270 = snd_soc_codec_get_drvdata(codec); 264 - int ret = 0; 265 264 266 265 /* set DAI format */ 267 266 switch (format & SND_SOC_DAIFMT_FORMAT_MASK) { ··· 270 271 break; 271 272 default: 272 273 dev_err(codec->dev, "invalid dai format\n"); 273 - ret = -EINVAL; 274 + return -EINVAL; 274 275 } 275 276 276 277 /* set master/slave audio interface */ ··· 283 284 break; 284 285 default: 285 286 /* all other modes are unsupported by the hardware */ 286 - ret = -EINVAL; 287 + dev_err(codec->dev, "Unknown master/slave configuration\n"); 288 + return -EINVAL; 287 289 } 288 290 289 - return ret; 291 + return 0; 290 292 } 291 293 292 294 /**
+4 -5
sound/soc/codecs/cs42l51.c
··· 288 288 { 289 289 struct snd_soc_codec *codec = codec_dai->codec; 290 290 struct cs42l51_private *cs42l51 = snd_soc_codec_get_drvdata(codec); 291 - int ret = 0; 292 291 293 292 switch (format & SND_SOC_DAIFMT_FORMAT_MASK) { 294 293 case SND_SOC_DAIFMT_I2S: ··· 297 298 break; 298 299 default: 299 300 dev_err(codec->dev, "invalid DAI format\n"); 300 - ret = -EINVAL; 301 + return -EINVAL; 301 302 } 302 303 303 304 switch (format & SND_SOC_DAIFMT_MASTER_MASK) { ··· 308 309 cs42l51->func = MODE_SLAVE_AUTO; 309 310 break; 310 311 default: 311 - ret = -EINVAL; 312 - break; 312 + dev_err(codec->dev, "Unknown master/slave configuration\n"); 313 + return -EINVAL; 313 314 } 314 315 315 - return ret; 316 + return 0; 316 317 } 317 318 318 319 struct cs42l51_ratios {