diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 3b03f85ea627..9da2a2c99953 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -306,6 +306,7 @@ static void i915_hotplug_work_func(struct work_struct *work)  	struct drm_mode_config *mode_config = &dev->mode_config;  	struct intel_encoder *encoder; +	mutex_lock(&mode_config->mutex);  	DRM_DEBUG_KMS("running encoder hotplug functions\n");  	list_for_each_entry(encoder, &mode_config->encoder_list, base.head) @@ -314,6 +315,8 @@ static void i915_hotplug_work_func(struct work_struct *work)  	/* 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) | 
