diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-22 09:42:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-22 09:42:29 -0700 |
commit | b253d5f3ecc95c2b4e8d4a525fd754c9e32b0f6e (patch) | |
tree | b0c4130979f458d7aa20b19eb141bd5087cfcdf7 | |
parent | f4102766463a66026bd4af6c30cbbd01f10e6c42 (diff) | |
parent | 6dbbd053e6aea827abde89ac9b9d6855dab1a66b (diff) | |
download | lwn-b253d5f3ecc95c2b4e8d4a525fd754c9e32b0f6e.tar.gz lwn-b253d5f3ecc95c2b4e8d4a525fd754c9e32b0f6e.zip |
Merge tag 'pci-v5.2-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fix from Bjorn Helgaas:
"If an IOMMU is present, ignore the P2PDMA whitelist we added for v5.2
because we don't yet know how to support P2PDMA in that case (Logan
Gunthorpe)"
* tag 'pci-v5.2-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI/P2PDMA: Ignore root complex whitelist when an IOMMU is present
-rw-r--r-- | drivers/pci/p2pdma.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c index a98126ad9c3a..a4994aa3acc0 100644 --- a/drivers/pci/p2pdma.c +++ b/drivers/pci/p2pdma.c @@ -18,6 +18,7 @@ #include <linux/percpu-refcount.h> #include <linux/random.h> #include <linux/seq_buf.h> +#include <linux/iommu.h> struct pci_p2pdma { struct gen_pool *pool; @@ -299,6 +300,9 @@ static bool root_complex_whitelist(struct pci_dev *dev) struct pci_dev *root = pci_get_slot(host->bus, PCI_DEVFN(0, 0)); unsigned short vendor, device; + if (iommu_present(dev->dev.bus)) + return false; + if (!root) return false; |