On 5/13/2024 2:26 PM, Ma Jun wrote: > Check ras_manager before using it > > Signed-off-by: Ma Jun <Jun.Ma2@xxxxxxx> > --- > 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; >