aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/assigned-dev.c2
-rw-r--r--virt/kvm/iommu.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
index 7debe8c9e10e..3ad0925d23a9 100644
--- a/virt/kvm/assigned-dev.c
+++ b/virt/kvm/assigned-dev.c
@@ -208,6 +208,8 @@ static void kvm_free_assigned_device(struct kvm *kvm,
208 else 208 else
209 pci_restore_state(assigned_dev->dev); 209 pci_restore_state(assigned_dev->dev);
210 210
211 assigned_dev->dev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
212
211 pci_release_regions(assigned_dev->dev); 213 pci_release_regions(assigned_dev->dev);
212 pci_disable_device(assigned_dev->dev); 214 pci_disable_device(assigned_dev->dev);
213 pci_dev_put(assigned_dev->dev); 215 pci_dev_put(assigned_dev->dev);
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
index 78c80f67f535..967aba133a62 100644
--- a/virt/kvm/iommu.c
+++ b/virt/kvm/iommu.c
@@ -187,6 +187,8 @@ int kvm_assign_device(struct kvm *kvm,
187 goto out_unmap; 187 goto out_unmap;
188 } 188 }
189 189
190 pdev->dev_flags |= PCI_DEV_FLAGS_ASSIGNED;
191
190 printk(KERN_DEBUG "assign device %x:%x:%x.%x\n", 192 printk(KERN_DEBUG "assign device %x:%x:%x.%x\n",
191 assigned_dev->host_segnr, 193 assigned_dev->host_segnr,
192 assigned_dev->host_busnr, 194 assigned_dev->host_busnr,
@@ -215,6 +217,8 @@ int kvm_deassign_device(struct kvm *kvm,
215 217
216 iommu_detach_device(domain, &pdev->dev); 218 iommu_detach_device(domain, &pdev->dev);
217 219
220 pdev->dev_flags &= ~PCI_DEV_FLAGS_ASSIGNED;
221
218 printk(KERN_DEBUG "deassign device %x:%x:%x.%x\n", 222 printk(KERN_DEBUG "deassign device %x:%x:%x.%x\n",
219 assigned_dev->host_segnr, 223 assigned_dev->host_segnr,
220 assigned_dev->host_busnr, 224 assigned_dev->host_busnr,