summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-01-19 09:05:13 +0000
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-01-23 09:26:22 +0100
commitd352f352a377750e5b555e3b6329e0db7a6e8aea (patch)
treec29cb9827809a1fd4c984046f15ef7093b830c41 /drivers
parent717c8ae7aae4f23100cbd33f9aa6772fe67a74f4 (diff)
drm: Show leaked connectors upon unload
After warning that the connector list is not empty on device unregistration (i.e. module unload) also print out which connectors are still hanging around to aide finding the leak. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170119090513.4154-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/drm_mode_config.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index ed1ee5a44a7b..884cc4d26fb5 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -421,7 +421,12 @@ void drm_mode_config_cleanup(struct drm_device *dev)
drm_connector_unreference(connector);
}
drm_connector_list_iter_put(&conn_iter);
- WARN_ON(!list_empty(&dev->mode_config.connector_list));
+ if (WARN_ON(!list_empty(&dev->mode_config.connector_list))) {
+ drm_connector_list_iter_get(dev, &conn_iter);
+ drm_for_each_connector_iter(connector, &conn_iter)
+ DRM_ERROR("connector %s leaked!\n", connector->name);
+ drm_connector_list_iter_put(&conn_iter);
+ }
list_for_each_entry_safe(property, pt, &dev->mode_config.property_list,
head) {