Commit 76ce2313 authored by Matthew Brost's avatar Matthew Brost
Browse files

drm/xe: Do not reference loop variable directly



Do not reference the loop variable job after the loop has exited.
Instead, save the job from the last iteration of the loop.

Fixes: 00937fe1 ("drm/xe/vf: Start re-emission from first unsignaled job during VF migration")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202511291102.jnnKP6IB-lkp@intel.com/


Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarDnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
Link: https://patch.msgid.link/20251203011809.968893-1-matthew.brost@intel.com
parent 688035f8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2264,10 +2264,11 @@ static void guc_exec_queue_unpause_prepare(struct xe_guc *guc,
					   struct xe_exec_queue *q)
{
	struct xe_gpu_scheduler *sched = &q->guc->sched;
	struct xe_sched_job *job = NULL;
	struct xe_sched_job *job = NULL, *__job;
	bool restore_replay = false;

	list_for_each_entry(job, &sched->base.pending_list, drm.list) {
	list_for_each_entry(__job, &sched->base.pending_list, drm.list) {
		job = __job;
		restore_replay |= job->restore_replay;
		if (restore_replay) {
			xe_gt_dbg(guc_to_gt(guc), "Replay JOB - guc_id=%d, seqno=%d",