|
@@ -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)
|