* 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:
@@ -181,7 +181,6 @@ decode_detailed_monitor(edid1_detailed_monitor *monitor,
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < EDID1_NUM_DETAILED_MONITOR_DESC; ++i, ++monitor, ++raw) {
|
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
|
// workaround: normally, all four bytes must be zero for detailed
|
||||||
// description, but at least some Formac monitors violate that:
|
// description, but at least some Formac monitors violate that:
|
||||||
@@ -225,7 +224,8 @@ decode_detailed_monitor(edid1_detailed_monitor *monitor,
|
|||||||
}
|
}
|
||||||
break;
|
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,
|
decode_detailed_timing(&monitor->data.detailed_timing,
|
||||||
&raw->detailed_timing);
|
&raw->detailed_timing);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user