Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 11:07:04 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/ttm: ttm_bo.c

Log Message:
drm/ttm: Fix up ttm_bo_global_release a bit.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c
diff -u src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c:1.24 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c:1.25
--- src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c:1.24	Sun Dec 19 09:57:33 2021
+++ src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c	Sun Dec 19 11:07:04 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo.c,v 1.24 2021/12/19 09:57:33 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo.c,v 1.25 2021/12/19 11:07:04 riastradh Exp $	*/
 
 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
 /**************************************************************************
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo.c,v 1.24 2021/12/19 09:57:33 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo.c,v 1.25 2021/12/19 11:07:04 riastradh Exp $");
 
 #define pr_fmt(fmt) "[TTM] " fmt
 
@@ -1645,17 +1645,20 @@ static void ttm_bo_global_release(void)
 	if (--ttm_bo_glob_use_count > 0)
 		goto out;
 
+#ifndef __NetBSD__
+	kobject_del(&glob->kobj);
+	kobject_put(&glob->kobj);
+#endif
+	ttm_mem_global_release(&ttm_mem_glob);
+	memset(glob, 0, sizeof(*glob));
 #ifdef __NetBSD__
 	BUG_ON(glob->dummy_read_page != NULL);
 	spin_lock_destroy(&glob->lru_lock);
+	mutex_unlock(&ttm_global_mutex);
 	mutex_destroy(&ttm_global_mutex);
 	kfree(glob);
-#else
-	kobject_del(&glob->kobj);
-	kobject_put(&glob->kobj);
+	return;
 #endif
-	ttm_mem_global_release(&ttm_mem_glob);
-	memset(glob, 0, sizeof(*glob));
 out:
 	mutex_unlock(&ttm_global_mutex);
 }

Reply via email to