From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chuansheng Liu Subject: [PATCH] drm/i915: Sync the hotplug work when device suspending Date: Sun, 28 Jul 2013 01:43:02 +0800 Message-ID: <1374946982.28551.4.camel@cliu38-desktop-build> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: daniel.vetter@ffwll.ch, airlied@linux.ie Cc: intel-gfx@lists.freedesktop.org, chuansheng.liu@intel.com, fei.li@intel.com, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org It is possible that during i915 device suspending with one pending hotplug work, one of cases is the device resume/suspend quickly. At this case, the hotplug work will be executed even after device is OFF, in Intel Android platform, it will cause system hang. Here we need sync the hotplug work in function i915_drm_freeze(). Signed-off-by: Liu, Chuansheng Signed-off-by: Li Fei --- drivers/gpu/drm/i915/i915_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 45b3c03..95c6956 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -562,6 +562,8 @@ static int i915_drm_freeze(struct drm_device *dev) drm_irq_uninstall(dev); dev_priv->enable_hotplug_processing = false; + cancel_work_sync(&dev_priv->hotplug_work); + /* * Disable CRTCs directly since we want to preserve sw state * for _thaw. -- 1.7.9.5