diff --git a/[refs] b/[refs] index 9acba19346b2..6fe64bc5df96 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d2cd3ce815b302e885b44ca1bdbe3c7db321c7a +refs/heads/master: 90b1253e4139776e8257914ae9e2292d0de2fecc diff --git a/trunk/drivers/vfio/vfio.c b/trunk/drivers/vfio/vfio.c index 92b85676e6be..887ae43276bb 100644 --- a/trunk/drivers/vfio/vfio.c +++ b/trunk/drivers/vfio/vfio.c @@ -396,7 +396,6 @@ static void vfio_device_release(struct kref *kref) struct vfio_device, kref); struct vfio_group *group = device->group; - mutex_lock(&group->device_lock); list_del(&device->group_next); mutex_unlock(&group->device_lock); @@ -412,7 +411,7 @@ static void vfio_device_release(struct kref *kref) static void vfio_device_put(struct vfio_device *device) { struct vfio_group *group = device->group; - kref_put(&device->kref, vfio_device_release); + kref_put_mutex(&device->kref, vfio_device_release, &group->device_lock); vfio_group_put(group); }