aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_dp_mst_topology.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 5bca390d9ae2..809959d56d78 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1194,17 +1194,18 @@ static struct drm_dp_mst_branch *drm_dp_get_mst_branch_device(struct drm_dp_mst_
1194 1194
1195 list_for_each_entry(port, &mstb->ports, next) { 1195 list_for_each_entry(port, &mstb->ports, next) {
1196 if (port->port_num == port_num) { 1196 if (port->port_num == port_num) {
1197 if (!port->mstb) { 1197 mstb = port->mstb;
1198 if (!mstb) {
1198 DRM_ERROR("failed to lookup MSTB with lct %d, rad %02x\n", lct, rad[0]); 1199 DRM_ERROR("failed to lookup MSTB with lct %d, rad %02x\n", lct, rad[0]);
1199 return NULL; 1200 goto out;
1200 } 1201 }
1201 1202
1202 mstb = port->mstb;
1203 break; 1203 break;
1204 } 1204 }
1205 } 1205 }
1206 } 1206 }
1207 kref_get(&mstb->kref); 1207 kref_get(&mstb->kref);
1208out:
1208 mutex_unlock(&mgr->lock); 1209 mutex_unlock(&mgr->lock);
1209 return mstb; 1210 return mstb;
1210} 1211}