summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-08-20 14:59:01 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-30 16:31:03 -0400
commit95663948ba22a4be8b99acd67fbf83e86ddffba4 (patch)
tree19722948e46168204f160427ee86f7bb91d93814
parent9cb84ab0abd1f5af2482387f8ff585dcfa30b9e6 (diff)
downloadop-kernel-dev-95663948ba22a4be8b99acd67fbf83e86ddffba4.zip
op-kernel-dev-95663948ba22a4be8b99acd67fbf83e86ddffba4.tar.gz
drm/radeon: fix LCD record parsing
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@amd.com> Cc: stable@vger.kernel.org
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c4
1 files changed, 3 insertions, 1 deletions
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;
OpenPOWER on IntegriCloud