Browse Source

drm/i915: Fixup for 'Hold mode_config->mutex during hotplug'

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>
Keith Packard 14 years ago
parent
commit
40ee3381dd
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/gpu/drm/i915/i915_irq.c

+ 2 - 2
drivers/gpu/drm/i915/i915_irq.c

@@ -313,10 +313,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
 		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)