diff options
| author | Xiaojie Yuan <[email protected]> | 2017-07-04 14:21:58 +0800 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2017-09-26 18:08:17 -0400 |
| commit | a67297d4c8d0bfac39a0fa166e98dcf54db1d7c2 (patch) | |
| tree | 945652cb09c571345bb17ddbc157a9474fe1ba5c | |
| parent | d7ec53d9dd0086644aa97d22463976b04b51307e (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 <[email protected]>
Reviewed-by: Andrey Grodzovsky <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
| -rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 3 |
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 = { |