diff --git a/bsd/drm/fops.c b/bsd/drm/fops.c index 0d5305fd..837fc7db 100644 --- a/bsd/drm/fops.c +++ b/bsd/drm/fops.c @@ -76,12 +76,11 @@ int drm_open_helper(dev_t kdev, int flags, int fmt, struct proc *p, priv->devXX = dev; priv->ioctl_count = 0; priv->authenticated = !suser(p); + lockmgr(&dev->dev_lock, LK_EXCLUSIVE, 0, p); + TAILQ_INSERT_TAIL(&dev->files, priv, link); + lockmgr(&dev->dev_lock, LK_RELEASE, 0, p); } - lockmgr(&dev->dev_lock, LK_EXCLUSIVE, 0, p); - TAILQ_INSERT_TAIL(&dev->files, priv, link); - lockmgr(&dev->dev_lock, LK_RELEASE, 0, p); - kdev->si_drv1 = dev; return 0;