diff options
Diffstat (limited to 'bsd-core/drm_vm.c')
-rw-r--r-- | bsd-core/drm_vm.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index fea31f52..9950c37e 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -37,7 +37,7 @@ int drm_mmap(dev_t kdev, vm_offset_t offset, int prot) paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) #endif { - drm_device_t *dev = drm_get_device_from_kdev(kdev); + struct drm_device *dev = drm_get_device_from_kdev(kdev); drm_local_map_t *map; drm_file_t *priv; drm_map_type_t type; @@ -67,9 +67,9 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) unsigned long page = offset >> PAGE_SHIFT; unsigned long phys = dma->pagelist[page]; + DRM_SPINUNLOCK(&dev->dma_lock); #if defined(__FreeBSD__) && __FreeBSD_version >= 500102 *paddr = phys; - DRM_SPINUNLOCK(&dev->dma_lock); return 0; #else return atop(phys); @@ -78,7 +78,6 @@ paddr_t drm_mmap(dev_t kdev, off_t offset, int prot) DRM_SPINUNLOCK(&dev->dma_lock); return -1; } - DRM_SPINUNLOCK(&dev->dma_lock); } /* A sequential search of a linked list is |