Re: [PATCH] ASoC: fsl-asoc-card: Set .owner attribute when registering card.

From: Shengjiu Wang
Date: Mon May 31 2021 - 03:13:10 EST


On Fri, May 28, 2021 at 12:35 AM Nicolas Cavallari
<nicolas.cavallari@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Otherwise, when compiled as module, a WARN_ON is triggered:
>
> WARNING: CPU: 0 PID: 5 at sound/core/init.c:208 snd_card_new+0x310/0x39c [snd]
> [...]
> CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.10.39 #1
> Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> Workqueue: events deferred_probe_work_func
> [<c0111988>] (unwind_backtrace) from [<c010c8ac>] (show_stack+0x10/0x14)
> [<c010c8ac>] (show_stack) from [<c092784c>] (dump_stack+0xdc/0x104)
> [<c092784c>] (dump_stack) from [<c0129710>] (__warn+0xd8/0x114)
> [<c0129710>] (__warn) from [<c0922a48>] (warn_slowpath_fmt+0x5c/0xc4)
> [<c0922a48>] (warn_slowpath_fmt) from [<bf0496f8>] (snd_card_new+0x310/0x39c [snd])
> [<bf0496f8>] (snd_card_new [snd]) from [<bf1d7df8>] (snd_soc_bind_card+0x334/0x9c4 [snd_soc_core])
> [<bf1d7df8>] (snd_soc_bind_card [snd_soc_core]) from [<bf1e9cd8>] (devm_snd_soc_register_card+0x30/0x6c [snd_soc_core])
> [<bf1e9cd8>] (devm_snd_soc_register_card [snd_soc_core]) from [<bf22d964>] (fsl_asoc_card_probe+0x550/0xcc8 [snd_soc_fsl_asoc_card])
> [<bf22d964>] (fsl_asoc_card_probe [snd_soc_fsl_asoc_card]) from [<c060c930>] (platform_drv_probe+0x48/0x98)
> [...]
>
> Signed-off-by: Nicolas Cavallari <nicolas.cavallari@xxxxxxxxxxxxxxxxxxxxxxx>

Acked-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxx>

> ---
> sound/soc/fsl/fsl-asoc-card.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
> index c62bfd1c3ac7..4f55b316cf0f 100644
> --- a/sound/soc/fsl/fsl-asoc-card.c
> +++ b/sound/soc/fsl/fsl-asoc-card.c
> @@ -744,6 +744,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
> /* Initialize sound card */
> priv->pdev = pdev;
> priv->card.dev = &pdev->dev;
> + priv->card.owner = THIS_MODULE;
> ret = snd_soc_of_parse_card_name(&priv->card, "model");
> if (ret) {
> snprintf(priv->name, sizeof(priv->name), "%s-audio",
> --
> 2.32.0.rc0
>