RE: [PATCH] drm/amdgpu: Fix mutex lock from atomic context.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



amdgpu_ras_reserve_bad_pages is only used by umc block, so another approach is to move it into amdgpu_umc_process_ras_data_cb.
Anyway, either way is OK and the patch is:

Reviewed-by: Tao Zhou <tao.zhou1@xxxxxxx>

> -----Original Message-----
> From: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx>
> Sent: 2019年9月11日 3:41
> To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Chen, Guchun <Guchun.Chen@xxxxxxx>; Zhou1, Tao
> <Tao.Zhou1@xxxxxxx>; Deucher, Alexander
> <Alexander.Deucher@xxxxxxx>; Grodzovsky, Andrey
> <Andrey.Grodzovsky@xxxxxxx>
> Subject: [PATCH] drm/amdgpu: Fix mutex lock from atomic context.
> 
> Problem:
> amdgpu_ras_reserve_bad_pages was moved to amdgpu_ras_reset_gpu
> because writing to EEPROM during ASIC reset was unstable.
> But for ERREVENT_ATHUB_INTERRUPT amdgpu_ras_reset_gpu is called
> directly from ISR context and so locking is not allowed. Also it's irrelevant for
> this partilcular interrupt as this is generic RAS interrupt and not memory
> errors specific.
> 
> Fix:
> Avoid calling amdgpu_ras_reserve_bad_pages if not in task context.
> 
> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
> index 012034d..dd5da3c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
> @@ -504,7 +504,9 @@ static inline int amdgpu_ras_reset_gpu(struct
> amdgpu_device *adev,
>  	/* save bad page to eeprom before gpu reset,
>  	 * i2c may be unstable in gpu reset
>  	 */
> -	amdgpu_ras_reserve_bad_pages(adev);
> +	if (in_task())
> +		amdgpu_ras_reserve_bad_pages(adev);
> +
>  	if (atomic_cmpxchg(&ras->in_recovery, 0, 1) == 0)
>  		schedule_work(&ras->recovery_work);
>  	return 0;
> --
> 2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux