drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read()
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 27 Aug 2018 08:07:42 +0000 (10:07 +0200)
committerHans Verkuil <hans.verkuil@cisco.com>
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 <hans.verkuil@cisco.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/e72ddac2-1dc0-100a-d816-9ac98ac009dd@xs4all.nl
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;