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 <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/drm_mode_config.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

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) {
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to