drm: fix mutex lock on connector register
authorMark Yao <mark.yao@rock-chips.com>
Wed, 2 Aug 2017 02:52:51 +0000 (10:52 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 2 Aug 2017 06:20:00 +0000 (14:20 +0800)
Fixes: c4a3cc5 ("drm: Paper over locking inversion after registration rework")
Change-Id: I43c8ec8ed7e21416a1e2531cd84d04ba148ad0c4
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
drivers/gpu/drm/drm_crtc.c

index 8aa49693c27bf39e17d13828b1ee3a2ba86a175b..93388659ee7df77199ea02b88ae77f3cfe16eab5 100644 (file)
@@ -1125,7 +1125,6 @@ int drm_connector_register_all(struct drm_device *dev)
        return 0;
 
 err:
-       mutex_unlock(&dev->mode_config.mutex);
        drm_connector_unregister_all(dev);
        return ret;
 }
@@ -1146,7 +1145,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);