struct v4l2_device *v4l2_dev = vdev->v4l2_dev;
 
        mutex_lock(&videodev_lock);
-       if (video_device[vdev->minor] != vdev) {
-               mutex_unlock(&videodev_lock);
+       if (WARN_ON(video_device[vdev->minor] != vdev)) {
                /* should not happen */
-               WARN_ON(1);
+               mutex_unlock(&videodev_lock);
                return;
        }
 
        mutex_unlock(&videodev_lock);
 
 #if defined(CONFIG_MEDIA_CONTROLLER)
-       if (vdev->v4l2_dev && vdev->v4l2_dev->mdev &&
+       if (v4l2_dev && v4l2_dev->mdev &&
            vdev->vfl_type != VFL_TYPE_SUBDEV)
                media_device_unregister_entity(&vdev->entity);
 #endif
        vdev->minor = -1;
 
        /* the release callback MUST be present */
-       WARN_ON(!vdev->release);
-       if (!vdev->release)
+       if (WARN_ON(!vdev->release))
                return -EINVAL;
 
        /* v4l2_fh support */