From: Mario Limonciello <[email protected]>

[Why]
If a GPU is in reset and the hardware fails to initialize the rest of the
resume sequence shouldn't be run.

[How]
Pass error code up to caller of dm_resume().

Reviewed-by: Alex Hung <[email protected]>
Signed-off-by: Mario Limonciello <[email protected]>
Signed-off-by: Ivan Lipski <[email protected]>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 2113732cc97b..986db004d30d 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3387,8 +3387,10 @@ static int dm_resume(struct amdgpu_ip_block *ip_block)
                link_enc_cfg_copy(adev->dm.dc->current_state, dc_state);
 
                r = dm_dmub_hw_init(adev);
-               if (r)
+               if (r) {
                        drm_err(adev_to_drm(adev), "DMUB interface failed to 
initialize: status=%d\n", r);
+                       return r;
+               }
 
                dc_dmub_srv_set_power_state(dm->dc->ctx->dmub_srv, 
DC_ACPI_CM_POWER_STATE_D0);
                dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D0);
-- 
2.43.0

Reply via email to