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: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
@@ -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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,
|
||||||
|
Reference in New Issue
Block a user