[alsa-devel] [PATCH][RFC] ASoC: soc-core: WARN() is not related to component->driver->probe

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon May 20 22:06:15 CEST 2019


Hi Morimoto-san,

>>> 	if (component->driver->probe) {
>>> 		ret = component->driver->probe(component);
>>> 		...
>>> (A)		WARN(...)
>>> 	}
>>> (B)	WARN(...)
> (snip)
>> This WARN() was added in 2012 by ff541f4b2a75 ('ASoC: core: giving
>> WARN when device starting from non-off bias with idle_bias_off')
>>
>> The commit message hints at an intentional check
>>
>> "
>> Just found some cases that some codec drivers set the bias to _STANDBY
>> and set idle_bias_off to 1 during probing.
>> It will cause unpaired runtime_get_sync/put() issue. Also as Mark
>> suggested, there is no reason to start from _STANDBY bias with
>> idle_bias_off == 1.
>>
>> So here giving one warning when detected (dapm.idle_bias_off == 1) and
>>      (dapm.bias_level != SND_SOC_BIAS_OFF) just after driver->probe().
>> "
>>
>> My take is that unless we can prove this is incorrect we leave it as is.
> 
> I think this commit is correct, thanks.
> But, then, it sounds we need to check it even though without .prove ?

Sorry, I am not getting your question.
I don't have a trace of which codecs need this check, and I don't know 
either if this check needs to be done in other cases than the .probe(). 
Given all this, why would we try to move this WARN statement outside of 
the .probe case? It seems like asking for trouble.



More information about the Alsa-devel mailing list