Skip to content

Commit

Permalink
drm/dp/mst: take lock around looking up the branch device on hpd irq
Browse files Browse the repository at this point in the history
If we are doing an MST transaction and we've gotten HPD and we
lookup the device from the incoming msg, we should take the mgr
lock around it, so that mst_primary and mstb->ports are valid.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
airlied committed Jun 23, 2015
1 parent 9254ec4 commit 9eb1e57
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/gpu/drm/drm_dp_mst_topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -1163,6 +1163,8 @@ static struct drm_dp_mst_branch *drm_dp_get_mst_branch_device(struct drm_dp_mst_
struct drm_dp_mst_port *port;
int i;
/* find the port by iterating down */

mutex_lock(&mgr->lock);
mstb = mgr->mst_primary;

for (i = 0; i < lct - 1; i++) {
Expand All @@ -1182,6 +1184,7 @@ static struct drm_dp_mst_branch *drm_dp_get_mst_branch_device(struct drm_dp_mst_
}
}
kref_get(&mstb->kref);
mutex_unlock(&mgr->lock);
return mstb;
}

Expand Down

0 comments on commit 9eb1e57

Please sign in to comment.