[PATCH 2/2] drm/xe: Add a WARN_ON for NULL job in xe_sync_entry_signal

Matthew Brost matthew.brost at intel.com
Mon Mar 18 14:21:36 UTC 2024


On Mon, Mar 18, 2024 at 02:50:00PM +0100, Nirmoy Das wrote:
> Add a warn for NULL job when sync->type is
> DRM_XE_SYNC_TYPE_USER_FENCE. This should be a programming
> error and should never happen so warn and let the kernel crash
> if that ever happens.
> 
> Cc: Matthew Auld <matthew.auld at intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_sync.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
> index 02c9577fe418..2b45950aa0af 100644
> --- a/drivers/gpu/drm/xe/xe_sync.c
> +++ b/drivers/gpu/drm/xe/xe_sync.c
> @@ -255,6 +255,7 @@ void xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
>  			dma_fence_put(fence);
>  		}
>  	} else if (sync->type == DRM_XE_SYNC_TYPE_USER_FENCE) {
> +		XE_WARN_ON(job);

For a warn on you this inverted - a WARN_ON(true) will pop.

But I think we should actually use an xe_assert here which has this
opposite behavior - pops on xe_assert(xe, false).

So the I think it should be:

xe_assert(xe, job);

Matt

>  		job->user_fence.used = true;
>  		job->user_fence.addr = sync->addr;
>  		job->user_fence.value = sync->timeline_value;
> -- 
> 2.42.0
> 


More information about the Intel-xe mailing list