Blob Blame History Raw
From: "Leo (Sunpeng) Li" <sunpeng.li@amd.com>
Date: Fri, 20 Oct 2017 13:59:53 -0400
Subject: drm/amd/display: Fix memoryleak during S3 resume.
Git-commit: af09e48aa52377eb807709e2a1cdc33e9fd1ac94
Patch-mainline: v4.15-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

Do not create dc_state within display_resume, since it's being
constructed within atomic check.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    4 ----
 1 file changed, 4 deletions(-)

--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -694,10 +694,6 @@ int amdgpu_dm_display_resume(struct amdg
 	WARN_ON(kref_read(&cached_state->context->refcount) > 1);
 	dc_release_state(cached_state->context);
 
-	cached_state->context = dc_create_state();
-	ASSERT(cached_state->context);
-	dc_resource_state_copy_construct_current(adev->dm.dc, cached_state->context);
-
 	for_each_new_crtc_in_state(adev->dm.cached_state, crtc, new_crtc_state, i) {
 		dm_crtc_state = to_dm_crtc_state(new_crtc_state);
 		if (dm_crtc_state->stream) {