[PATCH v2 3/4] drm/xe/guc_submit: fix xa_store() error checking

Nilawar, Badal badal.nilawar at intel.com
Tue Oct 1 13:50:40 UTC 2024



On 01-10-2024 14:13, Matthew Auld wrote:
> Looks like we are meant to use xa_err() to extract the error encoded in
> the ptr.
> 
> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
> Cc: Badal Nilawar <badal.nilawar at intel.com>
> Cc: <stable at vger.kernel.org> # v6.8+
> ---
>   drivers/gpu/drm/xe/xe_guc_submit.c | 9 +++------
>   1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 80062e1d3f66..8a5c21a87977 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -393,7 +393,6 @@ static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
>   static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>   {
>   	int ret;
> -	void *ptr;
>   	int i;
>   
>   	/*
> @@ -413,12 +412,10 @@ static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>   	q->guc->id = ret;
>   
>   	for (i = 0; i < q->width; ++i) {
> -		ptr = xa_store(&guc->submission_state.exec_queue_lookup,
> -			       q->guc->id + i, q, GFP_NOWAIT);
> -		if (IS_ERR(ptr)) {
> -			ret = PTR_ERR(ptr);
> +		ret = xa_err(xa_store(&guc->submission_state.exec_queue_lookup,
> +				      q->guc->id + i, q, GFP_NOWAIT));
> +		if (ret)
>   			goto err_release;
> -		}
>   	}

Looks good to me.
Reviewed-by: Badal Nilawar <badal.nilawar at intel.com>

Regards,
Badal

>   
>   	return 0;



More information about the Intel-xe mailing list