瀏覽代碼

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>
Russell King 10 年之前
父節點
當前提交
41dbb2dba2
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      drivers/gpu/drm/armada/armada_overlay.c

+ 5 - 1
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,