summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-08-06 13:41:49 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-06 13:41:49 -0700
commit0e31fb99cab0fae556b28e9cca40c6dfc92e1c2f (patch)
treea7f9c758ccfb6f9344dbdefa0c470eefe9a665d6
parent486ac8835c3e9a74d8a63a078bd1f4d706c54ec7 (diff)
downloadstable-queue-0e31fb99cab0fae556b28e9cca40c6dfc92e1c2f.tar.gz
3.0 patches
-rw-r--r--queue-3.0/drm-i915-fixup-for-hold-mode_config-mutex-during-hotplug.patch36
-rw-r--r--queue-3.0/series1
2 files changed, 37 insertions, 0 deletions
diff --git a/queue-3.0/drm-i915-fixup-for-hold-mode_config-mutex-during-hotplug.patch b/queue-3.0/drm-i915-fixup-for-hold-mode_config-mutex-during-hotplug.patch
new file mode 100644
index 0000000000..3082eb6c22
--- /dev/null
+++ b/queue-3.0/drm-i915-fixup-for-hold-mode_config-mutex-during-hotplug.patch
@@ -0,0 +1,36 @@
+From 40ee3381dd1010432acc13e907329029096c5bfc Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Thu, 28 Jul 2011 15:31:19 -0700
+Subject: drm/i915: Fixup for 'Hold mode_config->mutex during hotplug'
+
+From: Keith Packard <keithp@keithp.com>
+
+commit 40ee3381dd1010432acc13e907329029096c5bfc upstream.
+
+drm_helper_hpd_irq_event queues another work proc to go and deliver
+the user-space event, and that function also wants to hold the config
+mutex, so we shouldn't hold the mutex across the
+drm_helper_hpd_irq_event call.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/i915/i915_irq.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_irq.c
++++ b/drivers/gpu/drm/i915/i915_irq.c
+@@ -313,10 +313,10 @@ static void i915_hotplug_work_func(struc
+ if (encoder->hot_plug)
+ encoder->hot_plug(encoder);
+
++ mutex_unlock(&mode_config->mutex);
++
+ /* Just fire off a uevent and let userspace tell us what to do */
+ drm_helper_hpd_irq_event(dev);
+-
+- mutex_unlock(&mode_config->mutex);
+ }
+
+ static void i915_handle_rps_change(struct drm_device *dev)
diff --git a/queue-3.0/series b/queue-3.0/series
index a9c8e9dbfc..2c1632c84a 100644
--- a/queue-3.0/series
+++ b/queue-3.0/series
@@ -25,3 +25,4 @@ drm-i915-load-the-lut-before-pipe-enable-on-ilk.patch
drm-i915-fix-typo-in-drm_i915_overlay_put_image-ioctl.patch
drm-i915-initialize-rcs-ring-status-page-address-in.patch
drm-i915-hold-mode_config-mutex-during-hotplug-processing.patch
+drm-i915-fixup-for-hold-mode_config-mutex-during-hotplug.patch