aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_dp_mst_topology.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 5682d7e9f1ec..9798bb79fe59 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -839,6 +839,8 @@ static void drm_dp_put_mst_branch_device(struct drm_dp_mst_branch *mstb)
839 839
840static void drm_dp_port_teardown_pdt(struct drm_dp_mst_port *port, int old_pdt) 840static void drm_dp_port_teardown_pdt(struct drm_dp_mst_port *port, int old_pdt)
841{ 841{
842 struct drm_dp_mst_branch *mstb;
843
842 switch (old_pdt) { 844 switch (old_pdt) {
843 case DP_PEER_DEVICE_DP_LEGACY_CONV: 845 case DP_PEER_DEVICE_DP_LEGACY_CONV:
844 case DP_PEER_DEVICE_SST_SINK: 846 case DP_PEER_DEVICE_SST_SINK:
@@ -846,8 +848,9 @@ static void drm_dp_port_teardown_pdt(struct drm_dp_mst_port *port, int old_pdt)
846 drm_dp_mst_unregister_i2c_bus(&port->aux); 848 drm_dp_mst_unregister_i2c_bus(&port->aux);
847 break; 849 break;
848 case DP_PEER_DEVICE_MST_BRANCHING: 850 case DP_PEER_DEVICE_MST_BRANCHING:
849 drm_dp_put_mst_branch_device(port->mstb); 851 mstb = port->mstb;
850 port->mstb = NULL; 852 port->mstb = NULL;
853 drm_dp_put_mst_branch_device(mstb);
851 break; 854 break;
852 } 855 }
853} 856}