diff options
author | Keith Packard <keithp@keithp.com> | 2011-07-28 18:31:19 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-07-28 18:41:51 -0400 |
commit | 40ee3381dd1010432acc13e907329029096c5bfc (patch) | |
tree | 1002f4f5ed3dcf0dbfd66f21a01c612f874fdaea | |
parent | e85194641bec56179dcf5e1704ce5c6bf30340c6 (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.c | 4 |
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 | ||
322 | static void i915_handle_rps_change(struct drm_device *dev) | 322 | static void i915_handle_rps_change(struct drm_device *dev) |