Module Name:    src
Committed By:   riastradh
Date:           Wed Jul 24 04:03:32 UTC 2013

Modified Files:
        src/sys/external/bsd/drm2/dist/drm [riastradh-drm2]: drm_irq.c

Log Message:
Clean up the waitqueue and locks in drm_vblank_cleanup.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.8 -r1.1.1.1.2.9 \
    src/sys/external/bsd/drm2/dist/drm/drm_irq.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/drm_irq.c
diff -u src/sys/external/bsd/drm2/dist/drm/drm_irq.c:1.1.1.1.2.8 src/sys/external/bsd/drm2/dist/drm/drm_irq.c:1.1.1.1.2.9
--- src/sys/external/bsd/drm2/dist/drm/drm_irq.c:1.1.1.1.2.8	Wed Jul 24 03:23:46 2013
+++ src/sys/external/bsd/drm2/dist/drm/drm_irq.c	Wed Jul 24 04:03:31 2013
@@ -205,6 +205,14 @@ void drm_vblank_cleanup(struct drm_devic
 
 	vblank_disable_fn((unsigned long)dev);
 
+#ifdef __NetBSD__
+    {
+	unsigned int i;
+	for (i = 0; i < dev->num_crtcs; i++)
+		DRM_DESTROY_WAITQUEUE(&dev->vbl_queue[i]);
+    }
+#endif
+
 	kfree(dev->vbl_queue);
 	kfree(dev->_vblank_count);
 	kfree(dev->vblank_refcount);
@@ -215,6 +223,11 @@ void drm_vblank_cleanup(struct drm_devic
 	kfree(dev->_vblank_time);
 
 	dev->num_crtcs = 0;
+
+#ifdef __NetBSD__
+	spin_lock_destroy(&dev->vblank_time_lock);
+	spin_lock_destroy(&dev->vbl_lock);
+#endif
 }
 EXPORT_SYMBOL(drm_vblank_cleanup);
 

Reply via email to