* Don't mark edid_detailed_timing entries with a pixel_clock <= 0 as EDID1_IS_DETAILED_TIMING. This prevents decode_edid clients to incorrectly interpret the entries as valid.

This fixes booting on the Samsung NP-N135, which used to reset before being able to enter the bootloader menu. It would be interesting if tickets #4408, #5539, #5696, and #5720 could be retested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36734 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ithamar R. Adema 2010-05-07 21:51:06 +00:00
parent 4eb0cbb044
commit 9661f324d9

View File

@ -181,7 +181,6 @@ decode_detailed_monitor(edid1_detailed_monitor *monitor,
int i, j;
for (i = 0; i < EDID1_NUM_DETAILED_MONITOR_DESC; ++i, ++monitor, ++raw) {
monitor->monitor_desc_type = EDID1_IS_DETAILED_TIMING;
// workaround: normally, all four bytes must be zero for detailed
// description, but at least some Formac monitors violate that:
@ -225,7 +224,8 @@ decode_detailed_monitor(edid1_detailed_monitor *monitor,
}
break;
}
} else {
} else if (raw->detailed_timing.pixel_clock > 0) {
monitor->monitor_desc_type = EDID1_IS_DETAILED_TIMING;
decode_detailed_timing(&monitor->data.detailed_timing,
&raw->detailed_timing);
}