diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 17e64c0..2fa2124 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -1706,11 +1706,16 @@ domain_context_mapping(struct dmar_domain *domain, struct pci_dev *pdev, int ret; struct pci_dev *tmp, *parent; - ret = domain_context_mapping_one(domain, pci_domain_nr(pdev->bus), - pdev->bus->number, pdev->devfn, - translation); - if (ret) - return ret; + if (pdev->vendor == 0x1b4b && pdev->device == 0x9172) { + dev_dbg(&pdev->dev, "skipping function 0."); + } else { + ret = domain_context_mapping_one(domain, + pci_domain_nr(pdev->bus), + pdev->bus->number, pdev->devfn, + translation); + if (ret) + return ret; + } /* quirk for undeclared pci functions */ ret = map_quirky_dma_fn(domain, pdev, translation);