Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 06:48:50 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/drm: drm_cdevsw.c

Log Message:
Make drm_lastclose match upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/drm2/drm/drm_cdevsw.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/drm/drm_cdevsw.c
diff -u src/sys/external/bsd/drm2/drm/drm_cdevsw.c:1.1 src/sys/external/bsd/drm2/drm/drm_cdevsw.c:1.2
--- src/sys/external/bsd/drm2/drm/drm_cdevsw.c:1.1	Mon Aug 27 06:31:41 2018
+++ src/sys/external/bsd/drm2/drm/drm_cdevsw.c	Mon Aug 27 06:48:50 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: drm_cdevsw.c,v 1.1 2018/08/27 06:31:41 riastradh Exp $	*/
+/*	$NetBSD: drm_cdevsw.c,v 1.2 2018/08/27 06:48:50 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: drm_cdevsw.c,v 1.1 2018/08/27 06:31:41 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: drm_cdevsw.c,v 1.2 2018/08/27 06:48:50 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -387,7 +387,6 @@ fail0:	KASSERT(ret);
 int
 drm_lastclose(struct drm_device *dev)
 {
-	struct drm_vma_entry *vma, *vma_temp;
 
 	/* XXX Order is sketchy here...  */
 	if (dev->driver->lastclose)
@@ -399,19 +398,12 @@ drm_lastclose(struct drm_device *dev)
 	if (dev->agp)
 		drm_agp_clear_hook(dev);
 	drm_legacy_sg_cleanup(dev);
-	list_for_each_entry_safe(vma, vma_temp, &dev->vmalist, head) {
-		list_del(&vma->head);
-		kfree(vma);
-	}
+	drm_legacy_vma_flush(dev);
 	drm_legacy_dma_takedown(dev);
+
 	mutex_unlock(&dev->struct_mutex);
 
-	if (!drm_core_check_feature(dev, DRIVER_MODESET)) {
-		dev->sigdata.lock = NULL;
-		dev->context_flag = 0;
-		dev->last_context = 0;
-		dev->if_version = 0;
-	}
+	drm_legacy_dev_reinit(dev);
 
 	return 0;
 }

Reply via email to