diff options
Diffstat (limited to 'drivers/gpu/drm/display/drm_dp_mst_topology.c')
| -rw-r--r-- | drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c index 51a46689cda7..4ca37261584a 100644 --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -3372,6 +3372,9 @@ void drm_dp_remove_payload(struct drm_dp_mst_topology_mgr *mgr,  	mgr->payload_count--;  	mgr->next_start_slot -= payload->time_slots; + +	if (payload->delete) +		drm_dp_mst_put_port_malloc(payload->port);  }  EXPORT_SYMBOL(drm_dp_remove_payload); @@ -4327,7 +4330,6 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_state *state,  	drm_dbg_atomic(mgr->dev, "[MST PORT:%p] TU %d -> 0\n", port, payload->time_slots);  	if (!payload->delete) { -		drm_dp_mst_put_port_malloc(port);  		payload->pbn = 0;  		payload->delete = true;  		topology_state->payload_mask &= ~BIT(payload->vcpi - 1);  | 
