]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
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)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:20:45 +0000 (18:20 -0400)
[ Upstream commit d0ada20279db2649a7549a2b8a4a3379c59f238d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/amd/acp/acp-sof-mach.c

index f19f064a752728aaddd7ad8baa0f32f945adc0a3..972600d271586dfcdc3daad1d91124ea3b1a0246 100644 (file)
@@ -114,16 +114,14 @@ static int acp_sof_probe(struct platform_device *pdev)
        card->num_controls = ARRAY_SIZE(acp_controls);
        card->drvdata = (struct acp_card_drvdata *)pdev->id_entry->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;
 }