Hi Robert, On Wed, Aug 18, 2021 at 07:13:18PM +0200, Robert Foss wrote: > During the sp_tx_edid_read() call the return value of sp_tx_edid_read() > is ignored, which could cause potential errors to go unhandled. > > All errors which are returned by sp_tx_edid_read() are handled in > anx7625_get_edid(). > > Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx> > --- > drivers/gpu/drm/bridge/analogix/anx7625.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c > index ea414cd349b5c..abc8db77bfd36 100644 > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c > @@ -845,8 +845,11 @@ static int sp_tx_edid_read(struct anx7625_data *ctx, > if (g_edid_break == 1) > break; > > - segments_edid_read(ctx, count / 2, > - pblock_buf, offset); > + ret = segments_edid_read(ctx, count / 2, > + pblock_buf, offset); > + if (ret < 0) > + return ret; > + This could be just "if (ret)". Same goes for the next case. With or without this simplification: Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx> I assume you will apply the patches. Sam > memcpy(&pedid_blocks_buf[edid_pos], > pblock_buf, > MAX_DPCD_BUFFER_SIZE); > @@ -863,8 +866,11 @@ static int sp_tx_edid_read(struct anx7625_data *ctx, > if (g_edid_break == 1) > break; > > - segments_edid_read(ctx, count / 2, > - pblock_buf, offset); > + ret = segments_edid_read(ctx, count / 2, > + pblock_buf, offset); > + if (ret < 0) > + return ret; > + > memcpy(&pedid_blocks_buf[edid_pos], > pblock_buf, > MAX_DPCD_BUFFER_SIZE); > -- > 2.30.2