summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-06-15 11:13:30 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-07-15 17:45:29 +0200
commit41dbb2dba20ab951033d71de79d1f9863c8d1c34 (patch)
tree73811dde7f50b740fa89d140db16ac099c045a24 /drivers/gpu
parentdrm/armada: fix missing overlay wake-up (diff)
downloadlinux-41dbb2dba20ab951033d71de79d1f9863c8d1c34.tar.xz
linux-41dbb2dba20ab951033d71de79d1f9863c8d1c34.zip
drm/armada: fix incorrect overlay plane cleanup
The Armada overlay plane wasn't being properly cleaned up as it was missing a call to drm_plane_cleanup(). It also wasn't freeing the right type of pointer (although we were still freeing the right pointer value.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/armada/armada_overlay.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
index 0abf785f5d0f..f026ba062456 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -279,7 +279,11 @@ static int armada_plane_disable(struct drm_plane *plane)
static void armada_plane_destroy(struct drm_plane *plane)
{
- kfree(plane);
+ struct armada_plane *dplane = drm_to_armada_plane(plane);
+
+ drm_plane_cleanup(plane);
+
+ kfree(dplane);
}
static int armada_plane_set_property(struct drm_plane *plane,