]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/bridge: anx7625: Fix invalid EDID size
authorLoic Poulain <loic.poulain@oss.qualcomm.com>
Thu, 18 Dec 2025 15:13:07 +0000 (16:13 +0100)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Wed, 21 Jan 2026 07:01:30 +0000 (09:01 +0200)
DRM checks EDID block count against allocated size in drm_edid_valid
function. We have to allocate the right EDID size instead of the max
size to prevent the EDID to be reported as invalid.

Cc: stable@kernel.org
Fixes: 7c585f9a71aa ("drm/bridge: anx7625: use struct drm_edid more")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Link: https://patch.msgid.link/20251218151307.95491-1-loic.poulain@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/bridge/analogix/anx7625.c

index 6f3fdcb6afdb9d785bc4515300676cf3988c5807..4e49e4f28d552549a021e09a073c359c4e9af32c 100644 (file)
@@ -1801,7 +1801,7 @@ static const struct drm_edid *anx7625_edid_read(struct anx7625_data *ctx)
                return NULL;
        }
 
-       ctx->cached_drm_edid = drm_edid_alloc(edid_buf, FOUR_BLOCK_SIZE);
+       ctx->cached_drm_edid = drm_edid_alloc(edid_buf, edid_num * ONE_BLOCK_SIZE);
        kfree(edid_buf);
 
 out: