ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized
When build fsl-asoc-card as module, there is following error: sound/soc/fsl/fsl-asoc-card.c: In function 'fsl_asoc_card_probe': >> sound/soc/fsl/fsl-asoc-card.c:547:13: warning: 'asrc_np' may be used uninitialized in this function [-Wmaybe-uninitialized] of_node_put(asrc_np); ^ vim +/asrc_np +547 sound/soc/fsl/fsl-asoc-card.c 531 if (width == 24) 532 priv->asrc_format = SNDRV_PCM_FORMAT_S24_LE; 533 else 534 priv->asrc_format = SNDRV_PCM_FORMAT_S16_LE; 535 } 536 537 /* Finish card registering */ 538 platform_set_drvdata(pdev, priv); 539 snd_soc_card_set_drvdata(&priv->card, priv); 540 541 ret = devm_snd_soc_register_card(&pdev->dev, &priv->card); 542 if (ret) 543 dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); 544 545 fail: 546 of_node_put(codec_np); > 547 of_node_put(asrc_np); 548 of_node_put(cpu_np); 549 550 return ret; 551 } 552 553 static const struct of_device_id fsl_asoc_card_dt_ids[] = { 554 { .compatible = "fsl,imx-audio-cs42888", }, 555 { .compatible = "fsl,imx-audio-sgtl5000", }, Add 'asrc_fail' branch for error jump after asrc_np initialized. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
7e7292dba2
commit
5f37671e00
1 changed files with 5 additions and 4 deletions
|
@ -469,7 +469,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
|
|||
ret = fsl_asoc_card_audmux_init(np, priv);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to init audmux\n");
|
||||
goto fail;
|
||||
goto asrc_fail;
|
||||
}
|
||||
} else if (strstr(cpu_np->name, "esai")) {
|
||||
priv->cpu_priv.sysclk_id[1] = ESAI_HCKT_EXTAL;
|
||||
|
@ -518,14 +518,14 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
|
|||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to get output rate\n");
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
goto asrc_fail;
|
||||
}
|
||||
|
||||
ret = of_property_read_u32(asrc_np, "fsl,asrc-width", &width);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to get output rate\n");
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
goto asrc_fail;
|
||||
}
|
||||
|
||||
if (width == 24)
|
||||
|
@ -542,9 +542,10 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
|
||||
|
||||
asrc_fail:
|
||||
of_node_put(asrc_np);
|
||||
fail:
|
||||
of_node_put(codec_np);
|
||||
of_node_put(asrc_np);
|
||||
of_node_put(cpu_np);
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue