--- /dev/null
+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)
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