|
@@ -1544,10 +1544,10 @@ int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
|
|
|
if (!fb_helper->fb)
|
|
|
return 0;
|
|
|
|
|
|
- drm_modeset_lock_all(dev);
|
|
|
+ mutex_lock(&fb_helper->dev->mode_config.mutex);
|
|
|
if (!drm_fb_helper_is_bound(fb_helper)) {
|
|
|
fb_helper->delayed_hotplug = true;
|
|
|
- drm_modeset_unlock_all(dev);
|
|
|
+ mutex_unlock(&fb_helper->dev->mode_config.mutex);
|
|
|
return 0;
|
|
|
}
|
|
|
DRM_DEBUG_KMS("\n");
|
|
@@ -1558,9 +1558,11 @@ int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
|
|
|
|
|
|
count = drm_fb_helper_probe_connector_modes(fb_helper, max_width,
|
|
|
max_height);
|
|
|
+ mutex_unlock(&fb_helper->dev->mode_config.mutex);
|
|
|
+
|
|
|
+ drm_modeset_lock_all(dev);
|
|
|
drm_setup_crtcs(fb_helper);
|
|
|
drm_modeset_unlock_all(dev);
|
|
|
-
|
|
|
drm_fb_helper_set_par(fb_helper->fbdev);
|
|
|
|
|
|
return 0;
|