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

Reply via email to