Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d2cd3ce authored by Al Viro's avatar Al Viro
Browse files

vfio: get rid of open-coding kref_put_mutex

parent 8ad5db8a
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -264,6 +264,7 @@ static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group)
	return group;
}

/* called with vfio.group_lock held */
static void vfio_group_release(struct kref *kref)
{
	struct vfio_group *group = container_of(kref, struct vfio_group, kref);
@@ -287,13 +288,7 @@ static void vfio_group_release(struct kref *kref)

static void vfio_group_put(struct vfio_group *group)
{
	mutex_lock(&vfio.group_lock);
	/*
	 * Release needs to unlock to unregister the notifier, so only
	 * unlock if not released.
	 */
	if (!kref_put(&group->kref, vfio_group_release))
		mutex_unlock(&vfio.group_lock);
	kref_put_mutex(&group->kref, vfio_group_release, &vfio.group_lock);
}

/* Assume group_lock or group reference is held */