diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index a2bd698fe2f7..937e77228466 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -506,6 +506,8 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, | |||
506 | struct intel_connector *intel_connector = to_intel_connector(connector); | 506 | struct intel_connector *intel_connector = to_intel_connector(connector); |
507 | struct drm_device *dev = connector->dev; | 507 | struct drm_device *dev = connector->dev; |
508 | 508 | ||
509 | intel_connector->unregister(intel_connector); | ||
510 | |||
509 | /* need to nuke the connector */ | 511 | /* need to nuke the connector */ |
510 | drm_modeset_lock_all(dev); | 512 | drm_modeset_lock_all(dev); |
511 | if (connector->state->crtc) { | 513 | if (connector->state->crtc) { |
@@ -519,11 +521,7 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, | |||
519 | 521 | ||
520 | WARN(ret, "Disabling mst crtc failed with %i\n", ret); | 522 | WARN(ret, "Disabling mst crtc failed with %i\n", ret); |
521 | } | 523 | } |
522 | drm_modeset_unlock_all(dev); | ||
523 | 524 | ||
524 | intel_connector->unregister(intel_connector); | ||
525 | |||
526 | drm_modeset_lock_all(dev); | ||
527 | intel_connector_remove_from_fbdev(intel_connector); | 525 | intel_connector_remove_from_fbdev(intel_connector); |
528 | drm_connector_cleanup(connector); | 526 | drm_connector_cleanup(connector); |
529 | drm_modeset_unlock_all(dev); | 527 | drm_modeset_unlock_all(dev); |