This is a note to let you know that I've just added the patch titled drm/bridge: anx7625: Fix edid_read break case in sp_tx_edid_read() to the 5.15-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-bridge-anx7625-fix-edid_read-break-case-in-sp_tx.patch and it can be found in the queue-5.15 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. commit 979641a42a9a7bea7789b52ddb9d28ff62ddc791 Author: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> Date: Fri Nov 19 03:30:02 2021 +0800 drm/bridge: anx7625: Fix edid_read break case in sp_tx_edid_read() [ Upstream commit 0bae5687bc689b64343fd8b52db2ad9e448f3f16 ] edid_read() was assumed to return 0 on success. After commit 7f16d0f3b8e2("drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux()"), the function will return > 0 for successful case, representing the i2c read bytes. Otherwise -EIO on failure cases. Update the g_edid_break break condition accordingly. Fixes: 7f16d0f3b8e2("drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux()") Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> Reviewed-by: Robert Foss <robert.foss@xxxxxxxxxx> Reviewed-by: Xin Ji <xji@xxxxxxxxxxxxxxxx> Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx> Link: https://patchwork.freedesktop.org/patch/msgid/20211118193002.407168-1-hsinyi@xxxxxxxxxxxx Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c index 392a9c56e9a0..f895ef1939fa 100644 --- a/drivers/gpu/drm/bridge/analogix/anx7625.c +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c @@ -796,7 +796,7 @@ static int sp_tx_edid_read(struct anx7625_data *ctx, int count, blocks_num; u8 pblock_buf[MAX_DPCD_BUFFER_SIZE]; u8 i, j; - u8 g_edid_break = 0; + int g_edid_break = 0; int ret; struct device *dev = &ctx->client->dev; @@ -827,7 +827,7 @@ static int sp_tx_edid_read(struct anx7625_data *ctx, g_edid_break = edid_read(ctx, offset, pblock_buf); - if (g_edid_break) + if (g_edid_break < 0) break; memcpy(&pedid_blocks_buf[offset],