On 5/13/2024 2:26 PM, Ma Jun wrote:
> Check ras_manager before using it
> 
> Signed-off-by: Ma Jun <jun....@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> index 1dd13ed3b7b5..6da02a209890 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> @@ -2172,12 +2172,17 @@ static void 
> amdgpu_ras_interrupt_process_handler(struct work_struct *work)
>  int amdgpu_ras_interrupt_dispatch(struct amdgpu_device *adev,
>               struct ras_dispatch_if *info)
>  {
> -     struct ras_manager *obj = amdgpu_ras_find_obj(adev, &info->head);
> -     struct ras_ih_data *data = &obj->ih_data;
> +     struct ras_manager *obj;
> +     struct ras_ih_data *data;
>  
> +     obj = amdgpu_ras_find_obj(adev, &info->head);
>       if (!obj)
>               return -EINVAL;
>  
> +     data = &obj->ih_data;
> +     if (!data)
> +             return -EINVAL;

This check is not needed. ih_data is declared as below in ras_manager.

struct ras_ih_data ih_data;

Thanks,
Lijo

> +
>       if (data->inuse == 0)
>               return 0;
>  

Reply via email to