ASoC: amd: acp: Add missing error handling in sof-mach
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Tue, 19 Dec 2023 03:07:21 +0000 (05:07 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 22 Jan 2024 00:06:26 +0000 (00:06 +0000)
Handle potential acp_sofdsp_dai_links_create() errors in ACP SOF machine
driver's probe function.  Note there is no need for an undo.

While at it, switch to dev_err_probe().

Fixes: 9f84940f5004 ("ASoC: amd: acp: Add SOF audio support on Chrome board")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Link: https://msgid.link/r/20231219030728.2431640-4-cristian.ciocaltea@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp/acp-sof-mach.c

index 1d313fcb5f2db5a545f3d855d7ca68143cec0d92..6f0ca23638afc77be1319d33df360a77fca0559e 100644 (file)
@@ -112,16 +112,14 @@ static int acp_sof_probe(struct platform_device *pdev)
        if (dmi_id && dmi_id->driver_data)
                acp_card_drvdata->tdm_mode = dmi_id->driver_data;
 
-       acp_sofdsp_dai_links_create(card);
+       ret = acp_sofdsp_dai_links_create(card);
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret, "Failed to create DAI links\n");
 
        ret = devm_snd_soc_register_card(&pdev->dev, card);
-       if (ret) {
-               dev_err(&pdev->dev,
-                               "devm_snd_soc_register_card(%s) failed: %d\n",
-                               card->name, ret);
-               return ret;
-       }
-
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret,
+                                    "Failed to register card(%s)\n", card->name);
        return 0;
 }