diff options
author | Alex Williamson <alex.williamson@redhat.com> | 2020-07-27 13:43:38 -0600 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2020-07-27 13:43:38 -0600 |
commit | 924b51abf961f1d888143fcfa3d63c92dc517679 (patch) | |
tree | ec7d3876a5e25203c97794d5e964a312b7b00366 /drivers/vfio | |
parent | 9d532f286914add61e02312881733a90355f153c (diff) |
vfio/pci: Hold igate across releasing eventfd contexts
No need to release and immediately re-acquire igate while clearing
out the eventfd ctxs.
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio')
-rw-r--r-- | drivers/vfio/pci/vfio_pci.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index b0258b79bb5b..dabca0450e6d 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -523,14 +523,12 @@ static void vfio_pci_release(void *device_data) vfio_pci_vf_token_user_add(vdev, -1); vfio_spapr_pci_eeh_release(vdev->pdev); vfio_pci_disable(vdev); + mutex_lock(&vdev->igate); if (vdev->err_trigger) { eventfd_ctx_put(vdev->err_trigger); vdev->err_trigger = NULL; } - mutex_unlock(&vdev->igate); - - mutex_lock(&vdev->igate); if (vdev->req_trigger) { eventfd_ctx_put(vdev->req_trigger); vdev->req_trigger = NULL; |