On 03/17/2016 12:25 PM, Mark Brown wrote: > On Thu, Mar 17, 2016 at 10:38:36AM +0000, Pan, Harry wrote: > >> Allow me to explain more detail that I saw during debug; since the >> commit 6e78108bda78 (ASoC: core: Don't probe the component which is >> dummy), an exception has been made that dummy component won't be probed, >> thus the 'card' passed into soc_probe_component() would not be assigned >> to this component. In the other hand, the component struct is initially >> created in snd_soc_register_platform() by kzalloc() of platform struct, >> its 'card' pointer is remaining an NULL pointer even the widget node >> being read. > >> Perhaps another option is to refine soc_probe_component(), which I have >> not dive in. > > Another approach might be to create a separate dummy component for each > card rather than trying to reuse the same one for all of them (which was > what the commit you mention was doing) - that way we don't need to worry > about it getting added to multiple cards which was the original problem > that was being looked at here.
I'd say as a quick fix for stable check that card is not NULL in dapm_widget_show_component(). And as a longterm fix get rid of dapm_widget file. Nobody should hopefully use it anymore with debugfs being available as the far better alternative. - Lars
signature.asc
Description: OpenPGP digital signature