author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> 2021-09-08 17:18:00 +0200
committer: Minda Chen <minda.chen@starfivetech.com> 2023-11-06 19:24:48 +0800
commit: c1f00e1f03e79fe7bfffde351b2d53571ba3b9ae
parent: 906844eb699e9608bcea067198da47142798ed81
Commit Summary:
Diffstat:
1 file changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
index 209cf265bf74..6e1b9068d944 100644
--- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
@@ -311,10 +311,9 @@ void __intel_breadcrumbs_park(struct intel_breadcrumbs *b)
/* Kick the work once more to drain the signalers, and disarm the irq */
irq_work_sync(&b->irq_work);
while (READ_ONCE(b->irq_armed) && !atomic_read(&b->active)) {
- local_irq_disable();
- signal_irq_work(&b->irq_work);
- local_irq_enable();
+ irq_work_queue(&b->irq_work);
cond_resched();
+ irq_work_sync(&b->irq_work);
}
}