diff options
Diffstat (limited to 'sys/fs/devfs/devfs_vnops.c')
-rw-r--r-- | sys/fs/devfs/devfs_vnops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 196e577..30c2c21 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -979,11 +979,11 @@ devfs_rioctl(struct vop_ioctl_args *ap) struct devfs_mount *dmp; dmp = VFSTODEVFS(ap->a_vp->v_mount); - lockmgr(&dmp->dm_lock, LK_SHARED, 0, curthread); + lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); devfs_populate(dmp); - lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); - error = devfs_rules_ioctl(ap->a_vp->v_mount, ap->a_command, ap->a_data, + error = devfs_rules_ioctl(dmp, ap->a_command, ap->a_data, ap->a_td); + lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); return (error); } |