aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-06-08 16:47:33 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2009-06-09 05:14:14 -0400
commit71ff3bca2f70264effe8cbbdd5bc10cf6be5f2f0 (patch)
tree0930054b71a0d674d71ea05d7575e4a7efac7bf3 /arch/x86/kernel/amd_iommu.c
parent29150078d7a1758df8c7a6cd2ec066ac65e1fab9 (diff)
amd-iommu: detach device explicitly before attaching it to a new domain
This fixes a bug with a device that could not be assigned to a KVM guest because it is still assigned to a dma_ops protection domain. [chrisw: simply remove WARN_ON(), will always fire since dev->driver will be pci-sub] Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu.c')
-rw-r--r--arch/x86/kernel/amd_iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index 81872604eb76..772e91088e40 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -2073,7 +2073,7 @@ static int amd_iommu_attach_device(struct iommu_domain *dom,
2073 2073
2074 old_domain = domain_for_device(devid); 2074 old_domain = domain_for_device(devid);
2075 if (old_domain) 2075 if (old_domain)
2076 return -EBUSY; 2076 detach_device(old_domain, devid);
2077 2077
2078 attach_device(iommu, domain, devid); 2078 attach_device(iommu, domain, devid);
2079 2079