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:
David Woodhouse 2009-07-04 10:40:38 +01:00
parent 5a5e02a614
commit 1e4c64c46d

View File

@ -2447,8 +2447,11 @@ static int iommu_no_mapping(struct pci_dev *pdev)
{
int found;
if (iommu_dummy(pdev))
return 1;
if (!iommu_identity_mapping)
return iommu_dummy(pdev);
return 0;
found = identity_mapping(pdev);
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,