[PATCH] drm/xe/guc: Check response data of CLIENT_SOFT_RESET action

Matthew Brost matthew.brost at intel.com
Wed Feb 19 21:02:11 UTC 2025


On Wed, Feb 19, 2025 at 08:27:10PM +0100, Michal Wajdeczko wrote:
> Treat unexpected non-zero response data from GuC as -EPROTO error.
> This will also prevent passing positive value to ERR_PTR().
> 
> Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
> Closes: https://lore.kernel.org/intel-xe/5fd5a4b9-88ee-47f1-ac3e-32a20960c5b0@stanley.mountain/
> Fixes: 12f95f9900c0 ("drm/xe/guc: Prefer GT oriented logs for GuC messages")
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Dan Carpenter <dan.carpenter at linaro.org>
> Cc: Matthew Brost <matthew.brost at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_guc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index 1619c0a52db9..bb03db361512 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -1238,6 +1238,8 @@ int xe_guc_suspend(struct xe_guc *guc)
>  
>  	ret = xe_guc_mmio_send(guc, action, ARRAY_SIZE(action));
>  	if (ret) {
> +		if (ret > 0)
> +			ret = -EPROTO;
>  		xe_gt_err(gt, "GuC suspend failed: %pe\n", ERR_PTR(ret));
>  		return ret;
>  	}
> -- 
> 2.47.1
> 


More information about the Intel-xe mailing list