浏览代码

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
Chris Wilson 8 年之前
父节点
当前提交
d352f352a3
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      drivers/gpu/drm/drm_mode_config.c

+ 6 - 1
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) {