On Thu, Apr 21, 2016 at 01:21:14AM +0300, Laurent Pinchart wrote:
Commit 6c87e5c3ec6d ("drm: Rename drm_connector_unplug_all() to drm_connector_unregister_all()") replaced a manual connectors list walk in drm_connector_unregister_all() with drm_for_each_connector(). The list was walked without the mode config mutex locked as that ends up in a clash with sysfs, but drm_connector_unregister_all() warns when the mutex isn't locked.
The problem is known and doesn't require a large warning every time drm_connector_unregister_all() is called. Fix it by reverting to manual list walk.
Fixes: 6c87e5c3ec6d ("drm: Rename drm_connector_unplug_all() to drm_connector_unregister_all()") Signed-off-by: Laurent Pinchart laurent.pinchart+renesas@ideasonboard.com
My apologies for missing this when reviewing the patch. Applied to drm-misc, thanks. -Daniel
drivers/gpu/drm/drm_crtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 55ffde5a3a4a..1eab5ab472db 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -1082,7 +1082,7 @@ void drm_connector_unregister_all(struct drm_device *dev) struct drm_connector *connector;
/* FIXME: taking the mode config mutex ends up in a clash with sysfs */
- drm_for_each_connector(connector, dev)
- list_for_each_entry(connector, &dev->mode_config.connector_list, head) drm_connector_unregister(connector);
} EXPORT_SYMBOL(drm_connector_unregister_all); -- Regards,
Laurent Pinchart