提交 1e4c64c4 编写于 作者: D David Woodhouse

intel-iommu: Don't set identity mapping for bypassed graphics devices

We should check iommu_dummy() _first_, because that means it's attached
to an iommu that we've just disabled completely. At the moment, we might
try to put the device into the identity mapping domain.
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
上级 5a5e02a6
...@@ -2447,8 +2447,11 @@ static int iommu_no_mapping(struct pci_dev *pdev) ...@@ -2447,8 +2447,11 @@ static int iommu_no_mapping(struct pci_dev *pdev)
{ {
int found; int found;
if (iommu_dummy(pdev))
return 1;
if (!iommu_identity_mapping) if (!iommu_identity_mapping)
return iommu_dummy(pdev); return 0;
found = identity_mapping(pdev); found = identity_mapping(pdev);
if (found) { if (found) {
...@@ -2480,7 +2483,7 @@ static int iommu_no_mapping(struct pci_dev *pdev) ...@@ -2480,7 +2483,7 @@ static int iommu_no_mapping(struct pci_dev *pdev)
} }
} }
return iommu_dummy(pdev); return 0;
} }
static dma_addr_t __intel_map_single(struct device *hwdev, phys_addr_t paddr, static dma_addr_t __intel_map_single(struct device *hwdev, phys_addr_t paddr,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册