diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-04 10:33:04 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-04 11:11:54 -0400 |
commit | 7b4f3990a22fbe800945f12001bc30db374d0af5 (patch) | |
tree | 2e894f736ba0c4c05b481e7db8d8a122c70a9850 /drivers/gpu/drm/i915/intel_display.c | |
parent | 2c6be944111a873ce96865f1a6033056bdf0d0e2 (diff) |
drm/i915: Avoid circular locking from intel_fbdev_fini()
lockdep spots that the fb_info->lock takes the dev->struct_mutex during
init (due to the device probing) and so we can not hold
dev->struct_mutex when unregistering the framebuffer. Simply reverse the
order of initialisation during cleanup and so do the intel_fbdev_fini()
before the intel_modeset_cleanup.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f55b560c468f..69c54c5a4254 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -6130,8 +6130,6 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
6130 | drm_kms_helper_poll_fini(dev); | 6130 | drm_kms_helper_poll_fini(dev); |
6131 | mutex_lock(&dev->struct_mutex); | 6131 | mutex_lock(&dev->struct_mutex); |
6132 | 6132 | ||
6133 | intel_fbdev_fini(dev); | ||
6134 | |||
6135 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | 6133 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { |
6136 | /* Skip inactive CRTCs */ | 6134 | /* Skip inactive CRTCs */ |
6137 | if (!crtc->fb) | 6135 | if (!crtc->fb) |