drm/amd/display: Fix memoryleak during S3 resume.
authorLeo (Sunpeng) Li <sunpeng.li@amd.com>
Fri, 20 Oct 2017 17:59:53 +0000 (13:59 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 21 Oct 2017 20:53:53 +0000 (16:53 -0400)
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>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 51258d04516742ffc142f6d52a040fe4a6480975..d0ee1b3b8b5c8471645f5ea2a1de89718d52bee3 100644 (file)
@@ -694,10 +694,6 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev)
        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) {