diff options
-rw-r--r-- | drivers/gpu/drm/i915/intel_fbdev.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c index b8af35187d22..ea96682568e8 100644 --- a/drivers/gpu/drm/i915/intel_fbdev.c +++ b/drivers/gpu/drm/i915/intel_fbdev.c | |||
@@ -697,10 +697,8 @@ static void intel_fbdev_initial_config(void *data, async_cookie_t cookie) | |||
697 | 697 | ||
698 | /* Due to peculiar init order wrt to hpd handling this is separate. */ | 698 | /* Due to peculiar init order wrt to hpd handling this is separate. */ |
699 | if (drm_fb_helper_initial_config(&ifbdev->helper, | 699 | if (drm_fb_helper_initial_config(&ifbdev->helper, |
700 | ifbdev->preferred_bpp)) { | 700 | ifbdev->preferred_bpp)) |
701 | intel_fbdev_unregister(to_i915(ifbdev->helper.dev)); | 701 | intel_fbdev_unregister(to_i915(ifbdev->helper.dev)); |
702 | intel_fbdev_fini(to_i915(ifbdev->helper.dev)); | ||
703 | } | ||
704 | } | 702 | } |
705 | 703 | ||
706 | void intel_fbdev_initial_config_async(struct drm_device *dev) | 704 | void intel_fbdev_initial_config_async(struct drm_device *dev) |
@@ -800,7 +798,11 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev) | |||
800 | { | 798 | { |
801 | struct intel_fbdev *ifbdev = to_i915(dev)->fbdev; | 799 | struct intel_fbdev *ifbdev = to_i915(dev)->fbdev; |
802 | 800 | ||
803 | if (ifbdev) | 801 | if (!ifbdev) |
802 | return; | ||
803 | |||
804 | intel_fbdev_sync(ifbdev); | ||
805 | if (ifbdev->vma) | ||
804 | drm_fb_helper_hotplug_event(&ifbdev->helper); | 806 | drm_fb_helper_hotplug_event(&ifbdev->helper); |
805 | } | 807 | } |
806 | 808 | ||