drm/amdgpu: Check the memory can be accesssed by ttm_device_clear_dma_mappings.
authorSurbhi Kakarya <surbhi.kakarya@amd.com>
Fri, 17 Dec 2021 17:01:09 +0000 (12:01 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Dec 2021 13:54:43 +0000 (08:54 -0500)
If the event guard is enabled and VF doesn't receive an ack from PF for full access,
the guest driver load crashes.
This is caused due to the call to ttm_device_clear_dma_mappings with non-initialized
mman during driver tear down.

This patch adds the necessary condition to check if the mman initialization passed or not
and takes the path based on the condition output.

Signed-off-by: Surbhi Kakarya <Surbhi.Kakarya@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 43e9149..dadfa03 100644 (file)
@@ -3895,7 +3895,8 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)
 
        amdgpu_irq_fini_hw(adev);
 
-       ttm_device_clear_dma_mappings(&adev->mman.bdev);
+       if (adev->mman.initialized)
+               ttm_device_clear_dma_mappings(&adev->mman.bdev);
 
        amdgpu_gart_dummy_page_fini(adev);