summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTormod Volden <debian.tormod@gmail.com>2009-01-22 01:22:53 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-01-22 01:22:53 -0500
commit0fae48235841f05d7e52e61a2450835fdb8892b3 (patch)
treefe6c6b0997edb98c9ada8170ce0b8a920d780e53
parent8241b8edaf1f100b0d9f308fdf921b2ab548f3dc (diff)
Savage: Do not add panel modes when there is no panel
SavageGetPanelInfo will reset DisplayType if the panel is not active, so check again before calling SavageAddPanelMode so that bogus modes are not added. This fixes startup failures in some cases, for instance when there is no real panel and EDID is missing. The bogus sync ranges (typically 0 Hz) would also block the default sync ranges from being applied. Thanks to Peter Belew for testing. https://bugs.launchpad.net/bugs/294899
-rw-r--r--src/savage_driver.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/savage_driver.c b/src/savage_driver.c
index da472e9..4115fb0 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -2206,10 +2206,11 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags)
/* Check LCD panel information */
if(psav->DisplayType == MT_LCD)
- {
SavageGetPanelInfo(pScrn);
+
+ /* DisplayType will be reset if panel is not active */
+ if(psav->DisplayType == MT_LCD)
SavageAddPanelMode(pScrn);
- }
#if 0
if (psav->CrtOnly && !psav->UseBIOS) {