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