As mentioned on commit '88be58be886f ("drm/i915/fbdev: Always forward hotplug events") we have real valid cases of hotplugs where fbdev is not fully setup yet.
Unfortunately this remove the checkpoint after the sync point. So probably we can live without it. Or we need a more robust serialization.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158 Fixes: a45b30a6c5db ("drm/i915/fbdev: Serialise early hotplug events with async fbdev config") Cc: Chris Wilson chris@chris-wilson.co.uk Cc: Lukas Wunner lukas@wunner.de Cc: jrg2718@gmail.com Cc: stable@vger.kernel.org Signed-off-by: Rodrigo Vivi rodrigo.vivi@intel.com --- drivers/gpu/drm/i915/intel_fbdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c index da48af11eb6b..7a6069b389f2 100644 --- a/drivers/gpu/drm/i915/intel_fbdev.c +++ b/drivers/gpu/drm/i915/intel_fbdev.c @@ -801,8 +801,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev) return;
intel_fbdev_sync(ifbdev); - if (ifbdev->vma) - drm_fb_helper_hotplug_event(&ifbdev->helper); + drm_fb_helper_hotplug_event(&ifbdev->helper); }
void intel_fbdev_restore_mode(struct drm_device *dev)
Quoting Rodrigo Vivi (2018-01-05 01:42:55)
As mentioned on commit '88be58be886f ("drm/i915/fbdev: Always forward hotplug events") we have real valid cases of hotplugs where fbdev is not fully setup yet.
Unfortunately this remove the checkpoint after the sync point. So probably we can live without it. Or we need a more robust serialization.
Heh? So you are removing the check as to whether or not the async init worked. Without the vma, fbdev doesn't exist and the hotplug event will cause the machine to die (see recent history for examples). I think what you intend is to always allocate a basic 1024x768 vma if the init config finds no crtcs to setup. -Chris
linux-stable-mirror@lists.linaro.org