diff options
-rw-r--r-- | drivers/gpu/drm/drm_dp_mst_topology.c | 5 |
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 | ||
840 | static void drm_dp_port_teardown_pdt(struct drm_dp_mst_port *port, int old_pdt) | 840 | static 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 | } |