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