Since DRM validates the all of EDID blocks, allocates drm_edid data
structure based on the actually block count returned by the sink
monitor at drm_edid_alloc() calling.

Fixes: 7c585f9a71aa ("drm/bridge: anx7625: use struct drm_edid more")

Signed-off-by: Xin Ji <x...@analogixsemi.com>
---
 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 c0ad8f59e483..4b5a74e9785e 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -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 * EDID_LENGTH);
        kfree(edid_buf);
 
 out:
-- 
2.25.1

Reply via email to