drm/amdgpu: cancel late_init_work before gpu reset
authorxinhui pan <xinhui.pan@amd.com>
Fri, 17 May 2019 02:27:44 +0000 (10:27 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 6 Jun 2019 03:18:09 +0000 (22:18 -0500)
gpu reset will run late_init and schedule the late_init_work.  if we
keep triggering gpu reset in a short time, there are potenial races.

Signed-off-by: xinhui pan <xinhui.pan@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 0ffa673..7a8c220 100644 (file)
@@ -3593,6 +3593,8 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
 
        dev_info(adev->dev, "GPU reset begin!\n");
 
+       cancel_delayed_work_sync(&adev->late_init_work);
+
        hive = amdgpu_get_xgmi_hive(adev, false);
 
        /*