[PATCH v2 2/2] drm/bridge: anx7625: Propagate errors from sp_tx_edid_read()
Sam Ravnborg
sam at ravnborg.org
Wed Aug 18 17:40:08 UTC 2021
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 at linaro.org>
> ---
> 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 at ravnborg.org>
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
More information about the dri-devel
mailing list