If the LCD table contains an EDID record, properly account
for the edid size when walking through the records.
This should fix error messages about unknown LCD records.
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at vger.kernel.org
---
drivers/gpu/drm/radeon/radeon_atombios.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c
b/drivers/gpu/drm/radeon/radeon_atombios.c
index 4ac5f40..112c963 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1681,7 +1681,9 @@ struct radeon_encoder_atom_dig
*radeon_atombios_get_lvds_info(struct
kfree(edid);
}
}
- record +=
sizeof(ATOM_FAKE_EDID_PATCH_RECORD);
+ record +=
fake_edid_record->ucFakeEDIDLength ?
+
fake_edid_record->ucFakeEDIDLength + 2 :
+
sizeof(ATOM_FAKE_EDID_PATCH_RECORD);
break;
case LCD_PANEL_RESOLUTION_RECORD_TYPE:
panel_res_record =
(ATOM_PANEL_RESOLUTION_PATCH_RECORD *)record;
--
1.8.3.1