Calling drmModeRmFB is only allowed in DRM master mode. Since leaving
the VT also drops master mode we need to remove the FB before calling
I830LeaveVT.

This is only a real leak in case of a server reset, otherwise the server
process will exit anyway and the kernel will clean up the FB.

Signed-off-by: Imre Deak <[email protected]>
---
 src/intel_driver.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/intel_driver.c b/src/intel_driver.c
index c5be679..ca8e530 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -1049,10 +1049,6 @@ static Bool I830CloseScreen(CLOSE_SCREEN_ARGS_DECL)
        I830UeventFini(scrn);
 #endif
 
-       if (scrn->vtSema == TRUE) {
-               I830LeaveVT(VT_FUNC_ARGS(0));
-       }
-
        DeleteCallback(&FlushCallback, intel_flush_callback, scrn);
 
        intel_glamor_close_screen(screen);
@@ -1082,6 +1078,10 @@ static Bool I830CloseScreen(CLOSE_SCREEN_ARGS_DECL)
                intel->front_buffer = NULL;
        }
 
+       if (scrn->vtSema == TRUE) {
+               I830LeaveVT(VT_FUNC_ARGS(0));
+       }
+
        intel_batch_teardown(scrn);
 
        if (INTEL_INFO(intel)->gen >= 40)
-- 
1.7.9.5

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to