wm8962 0-001a: ASoC: error at soc_component_read_no_lock on wm8962.0-001a: -16

Charles Keepax ckeepax at opensource.cirrus.com
Thu Sep 29 11:24:03 CEST 2022


On Wed, Sep 28, 2022 at 02:44:30AM +0000, Wang, Xiaolei wrote:
> Hi Jaroslav
> 
> When I tested the audio, I found that some registers in the
> codec of wm8962.c will fail to read in the mainline kernel. I
> found that wm8962_i2c_probe will enter runtime suspend after
> startup, but in the following program:
> 
> snd_soc_bind_card
>      snd_soc_dapm_new_widgets
>          soc_dapm_read
>              snd_soc_component_read(dapm->component, reg);
> 
> There is no runtime resume, which cannot perform normal
> reading and writing for volatile reg, because it has been
> switched to regcache only in the process of runtime suspend. I
> can't find the right place to resume, can you give me any
> advice?
> 

I think the first step would be could you clarify which register
is being read here? Reading a volatile register as part of
setting up the widgets does feel rather problematic.

Thanks,
Charles


More information about the Alsa-devel mailing list