Commit 61c39c6d authored by Joerg Roedel's avatar Joerg Roedel Committed by Greg Kroah-Hartman

iommu/amd: Work around broken IVRS tables

commit af1be049 upstream.

On some systems the IVRS table does not contain all PCI
devices present in the system. In case a device not present
in the IVRS table is translated by the IOMMU no DMA is
possible from that device by default.
This patch fixes this by removing the DTE entry for every
PCI device present in the system and not covered by IVRS.
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bc7e7c8b
...@@ -2479,6 +2479,9 @@ static unsigned device_dma_ops_init(void) ...@@ -2479,6 +2479,9 @@ static unsigned device_dma_ops_init(void)
for_each_pci_dev(pdev) { for_each_pci_dev(pdev) {
if (!check_device(&pdev->dev)) { if (!check_device(&pdev->dev)) {
iommu_ignore_device(&pdev->dev);
unhandled += 1; unhandled += 1;
continue; continue;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment