>>> @@ -1197,12 +1224,23 @@ static int qcom_swrm_get_port_config(struct qcom_swrm_ctrl *ctrl) >>> static int swrm_reg_show(struct seq_file *s_file, void *data) >>> { >>> struct qcom_swrm_ctrl *swrm = s_file->private; >>> - int reg, reg_val; >>> + int reg, reg_val, ret; >>> + >>> + ret = pm_runtime_get_sync(swrm->dev); >>> + if (ret < 0 && ret != -EACCES) { >>> + dev_err_ratelimited(swrm->dev, >>> + "pm_runtime_get_sync failed in %s, ret %d\n", >>> + __func__, ret); >>> + pm_runtime_put_noidle(swrm->dev); >> ... here it's missing? >> >> I have a fix ready but thought I would check first if this was intentional > > Its not intentional. > > >> >> https://github.com/thesofproject/linux/pull/3602/commits/6353eec8dc971c5f0fda0166ae1777f71784ea32 > > Fix looks good. Thanks Srini, I'll add Fixes tags and share on alsa-devel. I guess we need to thank Mark Brown for his guidance to use pm_runtime_resume_and_get(), that's how I saw those two cases :-)