Message ID | 20220303201943.501746-1-trix@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: anx7625: check the return on anx7625_aux_trans | expand |
On Thu, Mar 3, 2022 at 12:19 PM <trix@redhat.com> wrote: > > From: Tom Rix <trix@redhat.com> > > 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? I think it should be Fixes: adca62ec370c ("drm/bridge: anx7625: Support reading edid through aux channel") instead. > Signed-off-by: Tom Rix <trix@redhat.com> > --- > 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 >
On 3/8/22 2:57 PM, Nick Desaulniers wrote: > On Thu, Mar 3, 2022 at 12:19 PM <trix@redhat.com> wrote: >> From: Tom Rix <trix@redhat.com> >> >> 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@redhat.com> >> --- >> 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 >> >
On Wed, 9 Mar 2022 at 02:45, Tom Rix <trix@redhat.com> wrote: > > > On 3/8/22 2:57 PM, Nick Desaulniers wrote: > > On Thu, Mar 3, 2022 at 12:19 PM <trix@redhat.com> wrote: > >> From: Tom Rix <trix@redhat.com> > >> > >> 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@redhat.com> > >> --- > >> 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 > >> > > > Reviewed-by: Robert Foss <robert.foss@linaro.org> Applied to drm-misc-next.
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;