From: Dave Stevenson <dave.steven...@raspberrypi.com>

It is permitted on situations such as system resume for plane->state
to be non-NULL, and that should be handled by freeing it. Do so.

Signed-off-by: Dave Stevenson <dave.steven...@raspberrypi.com>
Signed-off-by: Stefan Wahren <wahre...@gmx.net>
---
 drivers/gpu/drm/vc4/vc4_plane.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index ba6e86d62a77..1aaa4938824b 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -330,7 +330,10 @@ static void vc4_plane_reset(struct drm_plane *plane)
 {
        struct vc4_plane_state *vc4_state;

-       WARN_ON(plane->state);
+       if (plane->state)
+               __drm_atomic_helper_plane_destroy_state(plane->state);
+
+       kfree(plane->state);

        vc4_state = kzalloc(sizeof(*vc4_state), GFP_KERNEL);
        if (!vc4_state)
--
2.34.1

Reply via email to