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