> void intel_fbdev_unregister(struct drm_i915_private *dev_priv) { > struct intel_fbdev *ifbdev = dev_priv->fbdev; @@ -573,6 +594,8 @@ > void intel_fbdev_unregister(struct drm_i915_private *dev_priv) > if (!ifbdev) > return; > > + intel_fbdev_hpd_set_suspend(dev_priv, > FBINFO_STATE_SUSPENDED); > + Instead of intel_fbdev_hpd_set_suspend(), will intel_fbdev_set_suspend() make more sense? If intel_fbdev_set_suspend() is called, then the below cancel_work_sync() may not be required. > cancel_work_sync(&dev_priv->fbdev_suspend_work); > if (!current_is_async()) > intel_fbdev_sync(ifbdev); Thanks and Regards, Arun R Murthy --------------------