From 02fe9be695f7e209944bd0f7b67950f93619feee Mon Sep 17 00:00:00 2001 From: Zhao Yakui Date: Tue, 22 Sep 2009 10:58:38 +0800 Subject: [PATCH] Check whether the DVI-I/D is connected or disconnected based on EDID When the monitor is digital type for SDVO-DVI D, there should exist the EDID. If there is no EDID, it should be detected as disconnected. Signe-off-by: Zhao Yakui --- src/i830_sdvo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c index 8f3193b1..5ffe0e8f 100644 --- a/src/i830_sdvo.c +++ b/src/i830_sdvo.c @@ -1824,6 +1824,9 @@ i830_sdvo_detect(xf86OutputPtr output) xf86MonPtr edid_mon; /* Check EDID in DVI-I case */ edid_mon = xf86OutputGetEDID (output, intel_output->pDDCBus); + /* when there is no EDID, it should be detected as disconnected */ + if (!edid_mon) + return XF86OutputStatusDisconnected; if (edid_mon && !DIGITAL(edid_mon->features.input_type)) { xfree(edid_mon); return XF86OutputStatusDisconnected;