[alsa-devel] Applied "ASoC: soc-core: defer card probe until all component is added to list" to the asoc tree

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Jan 10 03:32:31 CET 2019


Hi Mark, Ajit

> From: Ajit Pandey <ajitp at codeaurora.org>
> Date: Wed, 9 Jan 2019 14:17:07 +0530
> Subject: [PATCH] ASoC: soc-core: defer card probe until all component is added
>  to list
> 
> DAI component probe is not called if it is not present
> in component list during sound card registration.
> Check if component is available in component list for
> platform and cpu dai before soundcard registration.
> 
> Signed-off-by: Ajit Pandey <ajitp at codeaurora.org>
> Signed-off-by: Rohit kumar <rohitkr at codeaurora.org>
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---

I got below WARNING by this patch.
I guess we need mutex_lock() on snd_soc_register_card() ?

	...
	[drm] Device feb00000.display probed
	[drm] Cannot find any crtc or sizes
	[drm] Cannot find any crtc or sizes
	WARNING: CPU: 0 PID: 76 at sound/soc/soc-core.c:739 soc_find_component+0xb8/0xc0
	CPU: 0 PID: 76 Comm: kworker/0:1 Not tainted 5.0.0-rc1+ #1360
	Hardware name: Renesas H3ULCB Kingfisher board based on r8a7795 ES2.0+ (DT)
	Workqueue: events deferred_probe_work_func
	pstate: 60000005 (nZCv daif -PAN -UAO)
	pc : soc_find_component+0xb8/0xc0
	lr : soc_find_component+0xb4/0xc0
	sp : ffff00001217ba10
	x29: ffff00001217ba10 x28: 0000000000000000 
	x27: ffff000010a82920 x26: 0000000000000000 
	x25: ffff8006f9c59900 x24: ffff0000105f33a0 
	x23: ffff000010948d70 x22: 0000000000000000 
	x21: ffff000010af1720 x20: ffff8006ff80b6d8 
	x19: ffff8006f8523080 x18: 0000000000000010 
	x17: 0000000000000000 x16: 0000000000000000 
	x15: ffffffffffffffff x14: 0720072007200720 
	x13: 0720072007200720 x12: 0720072007200720 
	x11: 0720072007200720 x10: 0720072007200720 
	x9 : 0000000000000000 x8 : ffff000010a85000 
	x7 : ffff000010114bd4 x6 : 0000000000000001 
	x5 : 0000000000000018 x4 : 0000000000000001 
	x3 : 0000000000000000 x2 : 0000000000000003 
	x1 : ffff000010af17b0 x0 : 0000000000000000 
	Call trace:
	 soc_find_component+0xb8/0xc0
	 soc_init_dai_link+0x18c/0x210
	 snd_soc_register_card.part.16+0x138/0x198
	 snd_soc_register_card+0x30/0x48
	 devm_snd_soc_register_card+0x4c/0xa0
	 graph_probe+0x2d8/0x388
	 platform_drv_probe+0x58/0xa8
	 really_probe+0x1c0/0x2a0
	 driver_probe_device+0x5c/0xf0
	 __device_attach_driver+0x9c/0xe0
	...


More information about the Alsa-devel mailing list