From 4839664a9209e2829f3f90006065229b5c17007c Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 27 Apr 2021 09:07:57 +0200 Subject: [PATCH] backend/drm: carry on when disabling a CRTC fails On GPU unplug, disabling a CRTC can fail with EPERM. References: https://github.com/swaywm/wlroots/pull/2575#issuecomment-761771264 --- backend/drm/drm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/drm/drm.c b/backend/drm/drm.c index f064c184..e2b4bb3e 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -1053,7 +1053,9 @@ static void dealloc_crtc(struct wlr_drm_connector *conn) { conn->crtc->pending_modeset = true; conn->crtc->pending.active = false; if (!drm_crtc_commit(conn, 0)) { - return; + // On GPU unplug, disabling the CRTC can fail with EPERM + wlr_drm_conn_log(conn, WLR_ERROR, "Failed to disable CRTC %"PRIu32, + conn->crtc->id); } drm_plane_finish_surface(conn->crtc->primary);