[PATCH 2/2] KVM: IOMMU: Use iommu_commit() in device-passthrough code

Joerg Roedel
2011-06-23T15:31:47Z

Use the new iommu_commit() function in the KVM device
passthrough code.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
virt/kvm/iommu.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
index 62a9caf..87ef85a 100644
--- a/virt/kvm/iommu.c
+++ b/virt/kvm/iommu.c
@@ -187,6 +187,8 @@ int kvm_assign_device(struct kvm *kvm,
PCI_SLOT(assigned_dev->host_devfn),
PCI_FUNC(assigned_dev->host_devfn));

+ iommu_commit(domain);
+
return 0;
out_unmap:
kvm_iommu_unmap_memslots(kvm);
@@ -215,6 +217,8 @@ int kvm_deassign_device(struct kvm *kvm,
PCI_SLOT(assigned_dev->host_devfn),
PCI_FUNC(assigned_dev->host_devfn));

+ iommu_commit(domain);
+
return 0;
}

@@ -235,6 +239,8 @@ int kvm_iommu_map_guest(struct kvm *kvm)
if (r)
goto out_unmap;

+ iommu_commit(kvm->arch.iommu_domain);
+
return 0;

out_unmap:
@@ -283,6 +289,8 @@ static void kvm_iommu_put_pages(struct kvm *kvm,

gfn += unmap_pages;
}
+
+ iommu_commit(domain);
}

static int kvm_iommu_unmap_memslots(struct kvm *kvm)
--
1.7.4.1