diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-06-15 10:13:30 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-07-15 16:45:29 +0100 |
commit | 41dbb2dba20ab951033d71de79d1f9863c8d1c34 (patch) | |
tree | 73811dde7f50b740fa89d140db16ac099c045a24 /drivers | |
parent | 070f3f6baef5c749e8b11be0455fc90113dfdde8 (diff) | |
download | linux-41dbb2dba20ab951033d71de79d1f9863c8d1c34.tar.gz |
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')
-rw-r--r-- | drivers/gpu/drm/armada/armada_overlay.c | 6 |
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, |