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);
}