[PATCH] drm/amd/amdgpu: skip locking delayed work if not initialized.
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Aug 5 12:35:45 UTC 2021
Am 05.08.21 um 04:37 schrieb YuBiao Wang:
> When init failed in early init stage, amdgpu_object has
> not been initialized, so hasn't the ttm delayed queue functions.
>
> Signed-off-by: YuBiao Wang <YuBiao.Wang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 9e53ff851496..4c33985542ed 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -3825,7 +3825,8 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)
> {
> dev_info(adev->dev, "amdgpu: finishing device.\n");
> flush_delayed_work(&adev->delayed_init_work);
> - ttm_bo_lock_delayed_workqueue(&adev->mman.bdev);
> + if (adev->mman.initialized)
> + ttm_bo_lock_delayed_workqueue(&adev->mman.bdev);
I'm really wondering why we have that here in the first place.
This just disabled the delayed delete queue which is part of the sw
stack and not related to hardware in any way possible.
I think it would be much cleaner to move this into amdgpu_ttm_fini().
Christian.
> adev->shutdown = true;
>
> /* make sure IB test finished before entering exclusive mode
More information about the amd-gfx
mailing list