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
This commit is contained in:
Simon Ser 2021-04-27 09:07:57 +02:00
parent 9b0e0970f9
commit 4839664a92

View file

@ -1053,7 +1053,9 @@ static void dealloc_crtc(struct wlr_drm_connector *conn) {
conn->crtc->pending_modeset = true; conn->crtc->pending_modeset = true;
conn->crtc->pending.active = false; conn->crtc->pending.active = false;
if (!drm_crtc_commit(conn, 0)) { 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); drm_plane_finish_surface(conn->crtc->primary);