aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorXiaojie Yuan <Xiaojie.Yuan@amd.com>2017-07-04 14:21:58 +0800
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:08:17 -0400
commita67297d4c8d0bfac39a0fa166e98dcf54db1d7c2 (patch)
tree945652cb09c571345bb17ddbc157a9474fe1ba5c /drivers/gpu
parentdrm/amd/display: Move kms_atomic support flag to dm_early_init. (diff)
drm/amd/display: Fix misuse of plane state destroy helper
drm_plane_state is subclassed by dm_plane_state, so atomic driver should use __drm_atomic_helper_plane_destroy_state() to destroy a state. drm_atomic_helper_plane_destroy_state() frees drm_plane_state which is allocated inside dm_plane_state, this is problematic. Fixes: 95ae03a ("drm/amd/display: Create dm_plane_state.") Signed-off-by: Xiaojie Yuan <Xiaojie.Yuan@amd.com> Reviewed-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
index 6f08fab1cce7..64cb635b4137 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
@@ -1431,7 +1431,8 @@ void dm_drm_plane_destroy_state(struct drm_plane *plane,
dc_surface_release(dc_surface);
}
- drm_atomic_helper_plane_destroy_state(plane, state);
+ __drm_atomic_helper_plane_destroy_state(state);
+ kfree(dm_plane_state);
}
static const struct drm_plane_funcs dm_plane_funcs = {