Skip to content

Commit

Permalink
vfio: get rid of open-coding kref_put_mutex
Browse files Browse the repository at this point in the history
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Aug 22, 2012
1 parent 8ad5db8 commit 6d2cd3c
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions drivers/vfio/vfio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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 */
Expand Down

0 comments on commit 6d2cd3c

Please sign in to comment.