On 2026-03-10 12:57:08 [+0100], Maarten Lankhorst wrote:
> --- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> @@ -487,8 +490,11 @@ void intel_context_remove_breadcrumbs(struct
> intel_context *ce,
> if (release)
> intel_context_put(ce);
>
> - while (atomic_read(&b->signaler_active))
> + while (atomic_read(&b->signaler_active)) {
> + spin_lock(&b->signaler_active_sync);
> + spin_unlock(&b->signaler_active_sync);
> cpu_relax();
Forgot to mention: This is fine on PREEMPT_RT but on !RT you might need
spin_lock_irqsave(&b->signaler_active_sync, flags);
spin_unlock_irqrestore(&b->signaler_active_sync, flags);
if the function can be called from !IRQ context which might be the case
due to the irqsave() earlier in this function.
> + }
> }
Sebastian