summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-09-03 08:20:03 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-09-03 08:37:39 +0100
commitee7ed478a2bb81c923d29106b0b1dfd73161c2fc (patch)
treeebd6cff187545c716f8bef052d3bc232d2a10e8c
parent48a33fc379b17eed195875222ad773c911d9dff1 (diff)
sna: Skip over hotunplugged outputs during CRTC set
These outputs are already marked as disconnected and so should be excluded from the CRTC set, but to be safe skip over them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index a1a87825..c972e316 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -981,6 +981,13 @@ sna_crtc_apply(xf86CrtcPtr crtc)
if (output->crtc != crtc)
continue;
+ /* Skip over any hotunplugged outputs so that we can
+ * recover in cases where the previous mode is now
+ * only partially valid.
+ */
+ if (!to_sna_output(output)->id)
+ continue;
+
DBG(("%s: attaching output '%s' %d [%d] to crtc:%d (pipe %d) (possible crtc:%x, possible clones:%x)\n",
__FUNCTION__, output->name, i, to_connector_id(output),
sna_crtc->id, sna_crtc->pipe,