On Fri, 20 Sept 2024 at 14:44, Stephan Gerhold <stephan.gerhold@xxxxxxxxxx> wrote: > > On Fri, Sep 20, 2024 at 01:48:15PM +0300, Dmitry Baryshkov wrote: > > On Fri, Sep 20, 2024 at 06:07:11PM GMT, Jinjie Ruan wrote: > > > It's important to undo pm_runtime_use_autosuspend() with > > > pm_runtime_dont_use_autosuspend() at driver exit time. > > > > > > But the pm_runtime_disable() and pm_runtime_dont_use_autosuspend() > > > is missing in the error path for bam_dmux_probe(). So add it. > > > > Please use devm_pm_runtime_enable(), which handles autosuspend. > > > > This would conflict with the existing cleanup in bam_dmux_remove(), > which probably needs to stay manually managed since the tear down order > is quite important there. Hmm, the setup and teardown code makes me wonder now. Are we guaranteed that the IRQs can not be delivered after suspending the device? Also is there a race between IRQs being enabled, manual check of the IRQ state and the pc_ack / power_off calls? > > I think this looks reasonable, except that pm_runtime_set_suspended() > should be redundant since it's the default runtime PM state. > > Thanks, > Stephan -- With best wishes Dmitry