From: Sugar Zhang Date: Tue, 3 Feb 2026 16:46:28 +0000 (+0100) Subject: ASoC: rockchip: spdif: Swap PCM and DAI component registration order X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bdde9a2fd6577e18cd99e4f0e71e466ba626e77;p=thirdparty%2Fkernel%2Flinux.git ASoC: rockchip: spdif: Swap PCM and DAI component registration order PCM should be registered before the DAI component, as the second one triggers snd_soc_try_rebind_card. Signed-off-by: Sugar Zhang Signed-off-by: Sebastian Reichel Link: https://patch.msgid.link/20260203-rockchip-spdif-cleanup-and-bsp-sync-v2-6-4412016cf577@collabora.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/rockchip/rockchip_spdif.c b/sound/soc/rockchip/rockchip_spdif.c index 55d64fd4c93b..c1221ff00ed7 100644 --- a/sound/soc/rockchip/rockchip_spdif.c +++ b/sound/soc/rockchip/rockchip_spdif.c @@ -325,16 +325,16 @@ static int rk_spdif_probe(struct platform_device *pdev) return ret; } + ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); + if (ret) + return dev_err_probe(&pdev->dev, ret, "Could not register PCM\n"); + ret = devm_snd_soc_register_component(&pdev->dev, &rk_spdif_component, &rk_spdif_dai, 1); if (ret) return dev_err_probe(&pdev->dev, ret, "Could not register DAI\n"); - ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) - return dev_err_probe(&pdev->dev, ret, "Could not register PCM\n"); - return 0; }