diff mbox series

[v1] drm/bridge: anx7625: Don't store unread return value

Message ID 20210816111451.1180895-1-robert.foss@linaro.org (mailing list archive)
State New, archived
Headers show
Series [v1] drm/bridge: anx7625: Don't store unread return value | expand

Commit Message

Robert Foss Aug. 16, 2021, 11:14 a.m. UTC
The return value of sp_tx_rst_aux() is stored, but never read.
This happens in the context EDID communication already failing,
which means that this additional failure doesn't necessarily
convey any additional inforamation.

This means that we can safely avoid storing the value.

Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP")

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
---
 drivers/gpu/drm/bridge/analogix/anx7625.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sam Ravnborg Aug. 16, 2021, 3:54 p.m. UTC | #1
Hi Robert,

On Mon, Aug 16, 2021 at 01:14:51PM +0200, Robert Foss wrote:
> The return value of sp_tx_rst_aux() is stored, but never read.
> This happens in the context EDID communication already failing,
> which means that this additional failure doesn't necessarily
> convey any additional inforamation.
> 
> This means that we can safely avoid storing the value.
> 
> Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP")
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Robert Foss <robert.foss@linaro.org>
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index 14d73fb1dd15b..3471785915c45 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -771,7 +771,7 @@ static int segments_edid_read(struct anx7625_data *ctx,
>  		ret = sp_tx_aux_rd(ctx, 0xf1);
>  
>  		if (ret) {
> -			ret = sp_tx_rst_aux(ctx);
> +			sp_tx_rst_aux(ctx);
>  			DRM_DEV_ERROR(dev, "segment read fail, reset!\n");
>  		} else {
>  			ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,

From a quick look this seems to be the wrong fix.
Replace return 0; with return ret; as the last line in this function
looks like the correct fix to me.
With a careful audit that the error handling is OK in said function.

	Sam
Robert Foss Aug. 18, 2021, 4:15 p.m. UTC | #2
Hey Sam,

> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > index 14d73fb1dd15b..3471785915c45 100644
> > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > @@ -771,7 +771,7 @@ static int segments_edid_read(struct anx7625_data *ctx,
> >               ret = sp_tx_aux_rd(ctx, 0xf1);
> >
> >               if (ret) {
> > -                     ret = sp_tx_rst_aux(ctx);
> > +                     sp_tx_rst_aux(ctx);
> >                       DRM_DEV_ERROR(dev, "segment read fail, reset!\n");
> >               } else {
> >                       ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
>
> From a quick look this seems to be the wrong fix.
> Replace return 0; with return ret; as the last line in this function
> looks like the correct fix to me.
> With a careful audit that the error handling is OK in said function.

Thanks for the suggestion, let me have a second look at it.

>
>         Sam
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 14d73fb1dd15b..3471785915c45 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -771,7 +771,7 @@  static int segments_edid_read(struct anx7625_data *ctx,
 		ret = sp_tx_aux_rd(ctx, 0xf1);
 
 		if (ret) {
-			ret = sp_tx_rst_aux(ctx);
+			sp_tx_rst_aux(ctx);
 			DRM_DEV_ERROR(dev, "segment read fail, reset!\n");
 		} else {
 			ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,