Quoting Stephen Boyd (2022-04-05 21:47:07) > Quoting Stephen Boyd (2022-04-05 16:00:55) > > > > It would be good to pick this back to stable kernels so we have a > > working suspend/resume on LTS kernels. I tried picking it back to > > 5.10.109 (latest 5.10 LTS) and booting it on my Lazor w/ LTE device but > > it crashes at boot pretty reliably in the IPA driver. Interestingly I > > can't get it to crash on 5.15.32 when I pick it back, so maybe something > > has changed between 5.10 and 5.15 for IPA? I'll try to bisect it. > > Bisecting pointed to commit 1aac309d3207 ("net: ipa: use autosuspend") > as fixing it. I think before that commit we weren't enabling some > interconnect, but now we're booting, runtime suspending, and then > runtime resuming again. With the sync state patch I suspect the > interconnect bandwidth is dropped and IPA needs to use runtime PM to > actually turn resources back on because it assumed that resources are on > when it probes. I also found that when I make CONFIG_QCOM_IPA=y (and subsequently CONFIG_QCOM_Q6V5_MSS=y) I can reproduce a different crash in IPA on 5.15.32 and 5.17.1 LTS kernels. I suppose there is some missing interconnect bandwidth request somewhere and the runtime PM patch half fixed it, except for when the modem and IPA drivers are builtin. When the two drivers are builtin they drop bandwidth requests earlier because they probe earlier. My guess is that the IPA driver is missing a runtime_pm_get_sync() call somewhere and accessing a register that isn't clocked. More digging...