summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/intel_display.c4
-rw-r--r--src/sna/sna_accel.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/intel_display.c b/src/intel_display.c
index 21971835..17168e5b 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -1911,6 +1911,10 @@ intel_mode_close(intel_screen_private *intel)
while (has_pending_events(mode->fd))
drmHandleEvent(mode->fd, &mode->event_context);
+
+ RemoveBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA,
+ drm_wakeup_handler, mode);
+ RemoveGeneralSocket(mode->fd);
}
void
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index fd301c70..9bc6fe35 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -14377,6 +14377,7 @@ void sna_accel_close(struct sna *sna)
}
DeleteCallback(&FlushCallback, sna_accel_flush_callback, sna);
+ RemoveGeneralSocket(sna->kgem.fd);
kgem_cleanup_cache(&sna->kgem);
}