Message ID | 20210816111451.1180895-1-robert.foss@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v1] drm/bridge: anx7625: Don't store unread return value | expand |
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
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 --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,
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(-) -- 2.30.2