diff options
Diffstat (limited to 'drivers/vfio')
-rw-r--r-- | drivers/vfio/vfio.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c index 92b85676e6be..887ae43276bb 100644 --- a/drivers/vfio/vfio.c +++ b/drivers/vfio/vfio.c | |||
@@ -396,7 +396,6 @@ static void vfio_device_release(struct kref *kref) | |||
396 | struct vfio_device, kref); | 396 | struct vfio_device, kref); |
397 | struct vfio_group *group = device->group; | 397 | struct vfio_group *group = device->group; |
398 | 398 | ||
399 | mutex_lock(&group->device_lock); | ||
400 | list_del(&device->group_next); | 399 | list_del(&device->group_next); |
401 | mutex_unlock(&group->device_lock); | 400 | mutex_unlock(&group->device_lock); |
402 | 401 | ||
@@ -412,7 +411,7 @@ static void vfio_device_release(struct kref *kref) | |||
412 | static void vfio_device_put(struct vfio_device *device) | 411 | static void vfio_device_put(struct vfio_device *device) |
413 | { | 412 | { |
414 | struct vfio_group *group = device->group; | 413 | struct vfio_group *group = device->group; |
415 | kref_put(&device->kref, vfio_device_release); | 414 | kref_put_mutex(&device->kref, vfio_device_release, &group->device_lock); |
416 | vfio_group_put(group); | 415 | vfio_group_put(group); |
417 | } | 416 | } |
418 | 417 | ||