Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e4c64c4 authored by David Woodhouse's avatar David Woodhouse
Browse files

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: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 5a5e02a6
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -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,