summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm/drm_mm.c
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2010-04-23 14:48:30 +0000
committerrnoland <rnoland@FreeBSD.org>2010-04-23 14:48:30 +0000
commitd39bb9373198a81da7c1f1578c004f23a2f649f7 (patch)
treec5dccc5ad651031c246e7163835b2b7f002a9075 /sys/dev/drm/drm_mm.c
parent8b9f8a673542755de61861a6fcfcc7f5215e3526 (diff)
downloadFreeBSD-src-d39bb9373198a81da7c1f1578c004f23a2f649f7.zip
FreeBSD-src-d39bb9373198a81da7c1f1578c004f23a2f649f7.tar.gz
Address some WITNESS panics that occur when using the via driver.
Some of these cases should be safe in a non-atomic fashion, however since all of the driver ioctls are locked, a lot of work is required to fix it correctly. Just don't sleep now. MFC after: 2 weeks
Diffstat (limited to 'sys/dev/drm/drm_mm.c')
-rw-r--r--sys/dev/drm/drm_mm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/drm/drm_mm.c b/sys/dev/drm/drm_mm.c
index 344436f..bab36c1 100644
--- a/sys/dev/drm/drm_mm.c
+++ b/sys/dev/drm/drm_mm.c
@@ -333,7 +333,8 @@ int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
mm->num_unused = 0;
mtx_init(&mm->unused_lock, "drm_unused", NULL, MTX_DEF);
- return drm_mm_create_tail_node(mm, start, size, 0);
+ /* XXX This could be non-atomic but gets called from a locked path */
+ return drm_mm_create_tail_node(mm, start, size, 1);
}
void drm_mm_takedown(struct drm_mm * mm)
OpenPOWER on IntegriCloud