drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read()
authorHans Verkuil <[email protected]>
Mon, 27 Aug 2018 08:07:42 +0000 (10:07 +0200)
committerHans Verkuil <[email protected]>
Fri, 31 Aug 2018 08:20:38 +0000 (10:20 +0200)
When parsing the reply of a DP_REMOTE_DPCD_READ DPCD command the
result is wrong due to a missing idx increment.

This was never noticed since DP_REMOTE_DPCD_READ is currently not
used, but if you enable it, then it is all wrong.

Signed-off-by: Hans Verkuil <[email protected]>
Reviewed-by: Lyude Paul <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/gpu/drm/drm_dp_mst_topology.c

index 7780567aa6692fa56450aed78ff101b294fe7da6..5ff1d79b86c4a532917e819cfed3c4c702a3ea07 100644 (file)
@@ -439,6 +439,7 @@ static bool drm_dp_sideband_parse_remote_dpcd_read(struct drm_dp_sideband_msg_rx
        if (idx > raw->curlen)
                goto fail_len;
        repmsg->u.remote_dpcd_read_ack.num_bytes = raw->msg[idx];
+       idx++;
        if (idx > raw->curlen)
                goto fail_len;