diff options
author | Tormod Volden <debian.tormod@gmail.com> | 2009-01-22 01:22:53 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-01-22 01:22:53 -0500 |
commit | 0fae48235841f05d7e52e61a2450835fdb8892b3 (patch) | |
tree | fe6c6b0997edb98c9ada8170ce0b8a920d780e53 /src/savage_driver.c | |
parent | 8241b8edaf1f100b0d9f308fdf921b2ab548f3dc (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
Diffstat (limited to 'src/savage_driver.c')
-rw-r--r-- | src/savage_driver.c | 5 |
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) { |