aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-07-28 18:31:19 -0400
committerKeith Packard <keithp@keithp.com>2011-07-28 18:41:51 -0400
commit40ee3381dd1010432acc13e907329029096c5bfc (patch)
tree1002f4f5ed3dcf0dbfd66f21a01c612f874fdaea
parente85194641bec56179dcf5e1704ce5c6bf30340c6 (diff)
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>
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 9da2a2c99953..9b1d669f7d4b 100644
--- 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(struct work_struct *work)
313 if (encoder->hot_plug) 313 if (encoder->hot_plug)
314 encoder->hot_plug(encoder); 314 encoder->hot_plug(encoder);
315 315
316 mutex_unlock(&mode_config->mutex);
317
316 /* Just fire off a uevent and let userspace tell us what to do */ 318 /* Just fire off a uevent and let userspace tell us what to do */
317 drm_helper_hpd_irq_event(dev); 319 drm_helper_hpd_irq_event(dev);
318
319 mutex_unlock(&mode_config->mutex);
320} 320}
321 321
322static void i915_handle_rps_change(struct drm_device *dev) 322static void i915_handle_rps_change(struct drm_device *dev)