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>
This commit is contained in:
Xiaojie Yuan 2017-07-04 14:21:58 +08:00 committed by Alex Deucher
parent d7ec53d9dd
commit a67297d4c8
1 changed files with 2 additions and 1 deletions

View File

@ -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 = {