drm/dp_mst: fix drm_dp_dpcd_read return value checks
authorSimon Ser <contact@emersion.fr>
Thu, 10 Feb 2022 15:40:25 +0000 (15:40 +0000)
committerSimon Ser <contact@emersion.fr>
Fri, 29 Jul 2022 11:55:39 +0000 (13:55 +0200)
drm_dp_dpcd_read returns the number of bytes read. The previous code
would print garbage on DPCD error, and would exit with on error on
success.

Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: cb897542c6d2 ("drm/dp_mst: Fix W=1 warnings")
Cc: Lyude Paul <lyude@redhat.com>
Cc: Benjamin Gaignard <benjamin.gaignard@st.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/473500/
drivers/gpu/drm/display/drm_dp_mst_topology.c

index 57e6542..7a94a52 100644 (file)
@@ -4907,14 +4907,14 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
                seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf);
 
                ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2);
-               if (ret) {
+               if (ret != 2) {
                        seq_printf(m, "faux/mst read failed\n");
                        goto out;
                }
                seq_printf(m, "faux/mst: %*ph\n", 2, buf);
 
                ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1);
-               if (ret) {
+               if (ret != 1) {
                        seq_printf(m, "mst ctrl read failed\n");
                        goto out;
                }
@@ -4922,7 +4922,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
 
                /* dump the standard OUI branch header */
                ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
-               if (ret) {
+               if (ret != DP_BRANCH_OUI_HEADER_SIZE) {
                        seq_printf(m, "branch oui read failed\n");
                        goto out;
                }