* [PATCH] drm/dp_mst: fix drm_dp_dpcd_read return value checks
@ 2022-02-10 15:40 Simon Ser
2022-02-10 16:33 ` Jani Nikula
0 siblings, 1 reply; 2+ messages in thread
From: Simon Ser @ 2022-02-10 15:40 UTC (permalink / raw)
To: dri-devel; +Cc: Benjamin Gaignard
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>
---
drivers/gpu/drm/dp/drm_dp_mst_topology.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/dp/drm_dp_mst_topology.c b/drivers/gpu/drm/dp/drm_dp_mst_topology.c
index 11300b53d24f..f5998b7cf602 100644
--- a/drivers/gpu/drm/dp/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/dp/drm_dp_mst_topology.c
@@ -4912,21 +4912,21 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
int ret;
ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE);
- if (ret) {
+ if (ret != DP_RECEIVER_CAP_SIZE) {
seq_printf(m, "dpcd read failed\n");
goto out;
}
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;
}
@@ -4934,7 +4934,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;
}
base-commit: ded74cafeea9311c1eaf6fccce963de2516145f7
--
2.35.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] drm/dp_mst: fix drm_dp_dpcd_read return value checks
2022-02-10 15:40 [PATCH] drm/dp_mst: fix drm_dp_dpcd_read return value checks Simon Ser
@ 2022-02-10 16:33 ` Jani Nikula
0 siblings, 0 replies; 2+ messages in thread
From: Jani Nikula @ 2022-02-10 16:33 UTC (permalink / raw)
To: Simon Ser, dri-devel; +Cc: Benjamin Gaignard
On Thu, 10 Feb 2022, Simon Ser <contact@emersion.fr> wrote:
> 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.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
I do wish we'd just made dpcd access return 0 when the number of bytes
transferred matches the request, and an error otherwise.
BR,
Jani.
>
> 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>
> ---
> drivers/gpu/drm/dp/drm_dp_mst_topology.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/dp/drm_dp_mst_topology.c b/drivers/gpu/drm/dp/drm_dp_mst_topology.c
> index 11300b53d24f..f5998b7cf602 100644
> --- a/drivers/gpu/drm/dp/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/dp/drm_dp_mst_topology.c
> @@ -4912,21 +4912,21 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
> int ret;
>
> ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE);
> - if (ret) {
> + if (ret != DP_RECEIVER_CAP_SIZE) {
> seq_printf(m, "dpcd read failed\n");
> goto out;
> }
> 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;
> }
> @@ -4934,7 +4934,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;
> }
>
> base-commit: ded74cafeea9311c1eaf6fccce963de2516145f7
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-02-10 16:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-10 15:40 [PATCH] drm/dp_mst: fix drm_dp_dpcd_read return value checks Simon Ser
2022-02-10 16:33 ` Jani Nikula
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.