|
@@ -347,9 +347,18 @@ bool drm_fb_helper_restore_fbdev_mode_unlocked(struct drm_fb_helper *fb_helper)
|
|
|
{
|
|
|
struct drm_device *dev = fb_helper->dev;
|
|
|
bool ret;
|
|
|
+ bool do_delayed = false;
|
|
|
+
|
|
|
drm_modeset_lock_all(dev);
|
|
|
ret = restore_fbdev_mode(fb_helper);
|
|
|
+
|
|
|
+ do_delayed = fb_helper->delayed_hotplug;
|
|
|
+ if (do_delayed)
|
|
|
+ fb_helper->delayed_hotplug = false;
|
|
|
drm_modeset_unlock_all(dev);
|
|
|
+
|
|
|
+ if (do_delayed)
|
|
|
+ drm_fb_helper_hotplug_event(fb_helper);
|
|
|
return ret;
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_fb_helper_restore_fbdev_mode_unlocked);
|
|
@@ -888,10 +897,6 @@ int drm_fb_helper_set_par(struct fb_info *info)
|
|
|
|
|
|
drm_fb_helper_restore_fbdev_mode_unlocked(fb_helper);
|
|
|
|
|
|
- if (fb_helper->delayed_hotplug) {
|
|
|
- fb_helper->delayed_hotplug = false;
|
|
|
- drm_fb_helper_hotplug_event(fb_helper);
|
|
|
- }
|
|
|
return 0;
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_fb_helper_set_par);
|