drm: More debug info for fb leaks in mode_config_cleanup
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 7 Dec 2017 14:49:25 +0000 (15:49 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 7 Dec 2017 17:40:43 +0000 (18:40 +0100)
We're spotting this very rarely in CI, but have no idea. Let's add
more debug info about what's going on here.

References: https://bugs.freedesktop.org/show_bug.cgi?id=102707
Acked-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171207144925.14191-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_mode_config.c

index cda8bfa..bc5c463 100644 (file)
@@ -467,6 +467,9 @@ void drm_mode_config_cleanup(struct drm_device *dev)
         */
        WARN_ON(!list_empty(&dev->mode_config.fb_list));
        list_for_each_entry_safe(fb, fbt, &dev->mode_config.fb_list, head) {
+               struct drm_printer p = drm_debug_printer("[leaked fb]");
+               drm_printf(&p, "framebuffer[%u]:\n", fb->base.id);
+               drm_framebuffer_print_info(&p, 1, fb);
                drm_framebuffer_free(&fb->base.refcount);
        }