On Wed, 09 Feb 2022 11:38:23 +0100, Cezary Rojewski wrote: > > On 2022-02-09 11:21 AM, Cezary Rojewski wrote: > > snd_soc_bind_card() invokes snd_card_register() which in consequence > > leads to snd_device_register_all() and that to automatic > > ->dev_register call. That call involves PM operations, and at that > > moment, codec is not ready for it. > By that I mean: bus driver (here, avs-driver) has some saying on the > PM matter too e.g.: sets their (codecs) status to suspended via > pm_runtime_set_suspended() so the bus runtime suspend is not blocked > by codecs that could possibly never complete their probing. Hm, but the runtime PM of hda_codec device is suppressed at first in snd_hda_codec_device_new() via pm_runtime_forbid(), i.e. the codec should be kept running until it reaches to snd_hda_codec_register(), it shouldn't be runtime-suspended beforehand. I might overlook something, but it's a bit hard to follow... thanks, Takashi