OSDN Git Service

drm/amdgpu: Fix panic during gpu reset
authorxinhui pan <xinhui.pan@amd.com>
Mon, 5 Aug 2019 06:53:49 +0000 (14:53 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 6 Aug 2019 18:52:37 +0000 (13:52 -0500)
Clear the flag after hw suspend, otherwise it skips the corresponding hw
resume.

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

index f9fabbc..192f753 100644 (file)
@@ -2257,6 +2257,7 @@ static int amdgpu_device_ip_suspend_phase2(struct amdgpu_device *adev)
                        DRM_ERROR("suspend of IP block <%s> failed %d\n",
                                  adev->ip_blocks[i].version->funcs->name, r);
                }
+               adev->ip_blocks[i].status.hw = false;
                /* handle putting the SMC in the appropriate state */
                if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) {
                        if (is_support_sw_smu(adev)) {
@@ -2271,7 +2272,6 @@ static int amdgpu_device_ip_suspend_phase2(struct amdgpu_device *adev)
                                                  adev->mp1_state, r);
                                        return r;
                                }
-                               adev->ip_blocks[i].status.hw = false;
                        }
                }
        }