Re: [PATCH] ASoC: dapm: Do not traverse widget hooks to snd-soc-dummy

From: Lars-Peter Clausen
Date: Thu Mar 17 2016 - 08:37:43 EST

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

Attachment: signature.asc
Description: OpenPGP digital signature