summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlex Deucher2013-08-20 20:59:01 +0200
committerAlex Deucher2013-08-30 22:31:03 +0200
commit95663948ba22a4be8b99acd67fbf83e86ddffba4 (patch)
tree19722948e46168204f160427ee86f7bb91d93814 /drivers/gpu
parentdrm/radeon: check firmware overrides for mclk/sclk ss (diff)
downloadkernel-qcow2-linux-95663948ba22a4be8b99acd67fbf83e86ddffba4.tar.gz
kernel-qcow2-linux-95663948ba22a4be8b99acd67fbf83e86ddffba4.tar.xz
kernel-qcow2-linux-95663948ba22a4be8b99acd67fbf83e86ddffba4.zip
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
Diffstat (limited to 'drivers/gpu')
-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 4ac5f4027620..112c96352562 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;