[PATCH xf86-video 2/2] dri: fix leakage of FB when closing the screen

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <imre.deak at intel.com>
---
 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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux