job = list_first_entry_or_null(&sched->ring_mirror_list,
                                       struct drm_sched_job, node);
 
-       if (job)
+       if (job) {
                job->sched->ops->timedout_job(job);
 
-       /*
-        * Guilty job did complete and hence needs to be manually removed
-        * See drm_sched_stop doc.
-        */
-       if (sched->free_guilty) {
-               job->sched->ops->free_job(job);
-               sched->free_guilty = false;
+               /*
+                * Guilty job did complete and hence needs to be manually removed
+                * See drm_sched_stop doc.
+                */
+               if (sched->free_guilty) {
+                       job->sched->ops->free_job(job);
+                       sched->free_guilty = false;
+               }
        }
 
        spin_lock_irqsave(&sched->job_list_lock, flags);