Merge tag 'iommu-updates-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / iommu / intel-iommu.c
index 2be8e23448eeb8615596fecb4b39363522919d8a..6784a05dd6b2d5fc779016190f427e5aaada4ebe 100644 (file)
@@ -876,6 +876,13 @@ static struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devf
                struct pci_dev *pf_pdev;
 
                pdev = to_pci_dev(dev);
+
+#ifdef CONFIG_X86
+               /* VMD child devices currently cannot be handled individually */
+               if (is_vmd(pdev->bus))
+                       return NULL;
+#endif
+
                /* VFs aren't listed in scope tables; we need to look up
                 * the PF instead to find the IOMMU. */
                pf_pdev = pci_physfn(pdev);