[PATCH] drm/i915: ignore hotplug event across suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



when system enter suspend, hibernate and poweroff state, it will
disable modeset firstly, then disable irq, but some system generate
hotplug event between disable modeset and disable irq, this will
result in S3, S4 failure. So this hotplug event should be ignored.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61508
Signed-off-by: Xiong Zhang <xiong.y.zhang at intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2139714..68cc7a7 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -290,6 +290,12 @@ static void i915_hotplug_work_func(struct work_struct *work)
        struct drm_device *dev = dev_priv->dev;
        struct drm_mode_config *mode_config = &dev->mode_config;
        struct intel_encoder *encoder;
+
+        /* some system generate hotplug envent when system enter sleep state.
+         * it should be ignored.
+         */
+        if (dev_priv->mm.suspended)
+            return;

        /* HPD irq before everything is fully set up. */
        if (!dev_priv->enable_hotplug_processing)


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux