OSDN Git Service

drm/vc4: Fix double destroy of the BO cache on teardown.
authorEric Anholt <eric@anholt.net>
Wed, 2 Aug 2017 20:32:40 +0000 (13:32 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 8 Aug 2017 20:20:10 +0000 (13:20 -0700)
It's also destroyed from the top level vc4_drv.c initialization, which
is where the cache was actually initialized from.

This used to just involve duplicate del_timer() and cancel_work_sync()
being called, but it started causing kmalloc issues once we
double-freed the new BO label array.

Fixes: 1908a876f909 ("drm/vc4: Add an ioctl for labeling GEM BOs for summary stats")
Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20170802203242.12815-1-eric@anholt.net
Tested-by: Noralf Trønnes <noralf@tronnes.org>
Acked-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/gpu/drm/vc4/vc4_gem.c

index 209fccd..892a031 100644 (file)
@@ -1117,6 +1117,4 @@ vc4_gem_destroy(struct drm_device *dev)
 
        if (vc4->hang_state)
                vc4_free_hang_state(dev, vc4->hang_state);
-
-       vc4_bo_cache_destroy(dev);
 }