[Bug 35502] Regression: black screen with Radeon KMS in 2.6.38 (2.6.37.4 worked fine)
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Mar 22 12:57:59 PDT 2011
https://bugs.freedesktop.org/show_bug.cgi?id=35502
--- Comment #4 from John Lindgren <john.lindgren at tds.net> 2011-03-22 12:57:59 PDT ---
The problem is very simple. There is no sanity check in the loop added by that
commit to ensure that record->ucRecordSize is nonzero. Hence the driver gets
stuck in an infinite loop.
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c
b/drivers/gpu/drm/radeon/radeon_atombios.c
index a2dfe25..2525e86 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -679,7 +679,8 @@ bool
radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
ATOM_ENCODER_CAP_RECORD *cap_record;
u16 caps = 0;
- while (record->ucRecordType > 0 &&
+ while (record->ucRecordSize > 0 &&
+ record->ucRecordType > 0 &&
record->ucRecordType <=
ATOM_MAX_OBJECT_RECORD_NUMBER) {
switch (record->ucRecordType) {
case ATOM_ENCODER_CAP_RECORD_TYPE:
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the dri-devel
mailing list