Re: [PATCH] drm/bridge: anx7625: check the return on anx7625_aux_trans

From: Tom Rix
Date: Tue Mar 08 2022 - 20:45:52 EST



On 3/8/22 2:57 PM, Nick Desaulniers wrote:
On Thu, Mar 3, 2022 at 12:19 PM <trix@xxxxxxxxxx> wrote:
From: Tom Rix <trix@xxxxxxxxxx>

Clang static analysis reports this issue
anx7625.c:876:13: warning: The left operand of '&' is
a garbage value
if (!(bcap & 0xOA01)) {
~~~~ ^

bcap is only set by a successful call to
anx7625_aux_trans(). So check.

Fixes: cd1637c7e480 ("drm/bridge: anx7625: add HDCP support")
Is this the correct Fixes tag?
yes
I think it should be

Fixes: adca62ec370c ("drm/bridge: anx7625: Support reading edid
through aux channel")

This one changes the name of the function

-       anx7625_aux_dpcd_trans(ctx, DP_AUX_NATIVE_READ, 0x68028, 1, &bcap);
+       anx7625_aux_trans(ctx, DP_AUX_NATIVE_READ, 0x68028, 1, &bcap);

A return check from the earlier commit, when this block of code came into existence, is when it was first needed.

Tom


instead.

Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
---
drivers/gpu/drm/bridge/analogix/anx7625.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 633618bafd75d..f02ac079ed2ec 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -872,7 +872,10 @@ static int anx7625_hdcp_enable(struct anx7625_data *ctx)
}

/* Read downstream capability */
- anx7625_aux_trans(ctx, DP_AUX_NATIVE_READ, 0x68028, 1, &bcap);
+ ret = anx7625_aux_trans(ctx, DP_AUX_NATIVE_READ, 0x68028, 1, &bcap);
+ if (ret < 0)
+ return ret;
+
if (!(bcap & 0x01)) {
pr_warn("downstream not support HDCP 1.4, cap(%x).\n", bcap);
return 0;
--
2.26.3