Просмотр исходного кода

drm/i915: avoid struct mutex output_poll mutex lock loop on unload

Cancel the output polling work proc before acquiring the struct mutex
to avoid acquiring the work proc mutex with the struct mutex
held. This avoids inverting the lock order seen when the work proc
runs.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Keith Packard 15 лет назад
Родитель
Сommit
f87ea76131
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      drivers/gpu/drm/i915/intel_display.c

+ 1 - 1
drivers/gpu/drm/i915/intel_display.c

@@ -6127,9 +6127,9 @@ void intel_modeset_cleanup(struct drm_device *dev)
 	struct drm_crtc *crtc;
 	struct drm_crtc *crtc;
 	struct intel_crtc *intel_crtc;
 	struct intel_crtc *intel_crtc;
 
 
+	drm_kms_helper_poll_fini(dev);
 	mutex_lock(&dev->struct_mutex);
 	mutex_lock(&dev->struct_mutex);
 
 
-	drm_kms_helper_poll_fini(dev);
 	intel_fbdev_fini(dev);
 	intel_fbdev_fini(dev);
 
 
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {