aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c6
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 8d1b7033aaba..94b4e833dadd 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -502,6 +502,8 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
502 struct intel_connector *intel_connector = to_intel_connector(connector); 502 struct intel_connector *intel_connector = to_intel_connector(connector);
503 struct drm_device *dev = connector->dev; 503 struct drm_device *dev = connector->dev;
504 504
505 intel_connector->unregister(intel_connector);
506
505 /* need to nuke the connector */ 507 /* need to nuke the connector */
506 drm_modeset_lock_all(dev); 508 drm_modeset_lock_all(dev);
507 if (connector->state->crtc) { 509 if (connector->state->crtc) {
@@ -515,11 +517,7 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
515 517
516 WARN(ret, "Disabling mst crtc failed with %i\n", ret); 518 WARN(ret, "Disabling mst crtc failed with %i\n", ret);
517 } 519 }
518 drm_modeset_unlock_all(dev);
519 520
520 intel_connector->unregister(intel_connector);
521
522 drm_modeset_lock_all(dev);
523 intel_connector_remove_from_fbdev(intel_connector); 521 intel_connector_remove_from_fbdev(intel_connector);
524 drm_connector_cleanup(connector); 522 drm_connector_cleanup(connector);
525 drm_modeset_unlock_all(dev); 523 drm_modeset_unlock_all(dev);