summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm/drm_drv.c
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2008-08-30 00:53:30 +0000
committerrnoland <rnoland@FreeBSD.org>2008-08-30 00:53:30 +0000
commitc2591857ab2b84b4aa872a6e3b15472f3f69702c (patch)
treeb770fb8e52056d26366c9148dd9fcda6513a97a8 /sys/dev/drm/drm_drv.c
parent32bdd34ddacc3107067fa3f7a4be40dfc7ec382e (diff)
downloadFreeBSD-src-c2591857ab2b84b4aa872a6e3b15472f3f69702c.zip
FreeBSD-src-c2591857ab2b84b4aa872a6e3b15472f3f69702c.tar.gz
We need to lock around driver unload now.
The i915 driver installs it's register map at load time now. We can't remove the map during unload without holding the lock. Approved by: kib
Diffstat (limited to 'sys/dev/drm/drm_drv.c')
-rw-r--r--sys/dev/drm/drm_drv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/drm/drm_drv.c b/sys/dev/drm/drm_drv.c
index dd818bb..7ed2393 100644
--- a/sys/dev/drm/drm_drv.c
+++ b/sys/dev/drm/drm_drv.c
@@ -660,8 +660,11 @@ static void drm_unload(struct drm_device *dev)
dev->agp = NULL;
}
- if (dev->driver.unload != NULL)
+ if (dev->driver.unload != NULL) {
+ DRM_LOCK();
dev->driver.unload(dev);
+ DRM_UNLOCK();
+ }
delete_unrhdr(dev->drw_unrhdr);
OpenPOWER on IntegriCloud