diff options
author | Lu Baolu <[email protected]> | 2019-08-01 11:14:58 +0800 |
---|---|---|
committer | Joerg Roedel <[email protected]> | 2019-08-06 17:27:10 +0200 |
commit | 458b7c8e0dde12d140e3472b80919cbb9ae793f4 (patch) | |
tree | 8b8589c883fa46ffa98fb006e6459d81b496d806 | |
parent | 11f4fe9ba3c85a4efac7ec25e75056a9b612d9da (diff) |
iommu/vt-d: Detach domain when move device out of group
When removing a device from an iommu group, the domain should
be detached from the device. Otherwise, the stale domain info
will still be cached by the driver and the driver will refuse
to attach any domain to the device again.
Cc: Ashok Raj <[email protected]>
Cc: Jacob Pan <[email protected]>
Cc: Kevin Tian <[email protected]>
Fixes: b7297783c2bb6 ("iommu/vt-d: Remove duplicated code for device hotplug")
Reported-and-tested-by: Vlad Buslov <[email protected]>
Suggested-by: Robin Murphy <[email protected]>
Link: https://lkml.org/lkml/2019/7/26/1133
Signed-off-by: Lu Baolu <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
-rw-r--r-- | drivers/iommu/intel-iommu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index bdaed2da8a55..3e22fa6ae8c8 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -5316,6 +5316,8 @@ static void intel_iommu_remove_device(struct device *dev) if (!iommu) return; + dmar_remove_one_dev_info(dev); + iommu_group_remove_device(dev); iommu_device_unlink(&iommu->iommu, dev); |