Hi, On 10.11.2023 05:35, Jeffrey Hugo wrote: > On 11/7/2023 5:35 AM, Jacek Lawrynowicz wrote: >> From: Stanislaw Gruszka <stanislaw.gruszka@xxxxxxxxxxxxxxx> >> >> Change to use work for timeout detection. Needed for thread_irq >> conversion. >> >> Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@xxxxxxxxxxxxxxx> > > Missing SOB. Yeah, I've missed it. I will add SOB to the whole patchset in v2. >> void ivpu_pm_cancel_recovery(struct ivpu_device *vdev) >> { >> + drm_WARN_ON(&vdev->drm, delayed_work_pending(&vdev->pm->job_timeout_work)); > > This seems odd. Looks like this function is only called from the dev_fini. It's a non-fatal error to tear down the device (hotplug? fatal error?) if a job is pending? This check is used to detect driver bug where recovery is started just after ivpu_pm_cancel_recovery() was called (job_timeout_work schedules recovery_work). Jobs should all be done/cancelled at this stage. It is more an assert()-like thing then an error that should be reported to the user. Regards, Jacek