aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-08-20 14:59:01 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-01 08:55:47 -0700
commit3df0155c467f982d4c06078b74d042d7a5c2a743 (patch)
tree1c2309fb94fab0c2c0b1e4c7decafc63287fda52
parent69e5a58ed3cdfa6a4a708f6f00ec0ee79e2fe6cd (diff)
downloadkernel_samsung_smdk4412-3df0155c467f982d4c06078b74d042d7a5c2a743.zip
kernel_samsung_smdk4412-3df0155c467f982d4c06078b74d042d7a5c2a743.tar.gz
kernel_samsung_smdk4412-3df0155c467f982d4c06078b74d042d7a5c2a743.tar.bz2
drm/radeon: fix LCD record parsing
commit 95663948ba22a4be8b99acd67fbf83e86ddffba4 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.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 b1aade0..4b2a7f0 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1658,7 +1658,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;