diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index aa64448..85beebc 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -2914,13 +2914,14 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) break; } list_del(&port->next); - mutex_unlock(&mgr->destroy_connector_lock); kref_init(&port->kref); INIT_LIST_HEAD(&port->next); mgr->cbs->destroy_connector(mgr, port->connector); + mutex_unlock(&mgr->destroy_connector_lock); + drm_dp_port_teardown_pdt(port, port->pdt); port->pdt = DP_PEER_DEVICE_NONE;