From: Russell King Date: Mon, 15 Jun 2015 09:13:30 +0000 (+0100) Subject: drm/armada: fix incorrect overlay plane cleanup X-Git-Tag: firefly_0821_release~176^2~1410^2~4^2~4 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=41dbb2dba20ab951033d71de79d1f9863c8d1c34;p=firefly-linux-kernel-4.4.55.git 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 --- 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,