Skip to content

Commit

Permalink
iommu/amd: Work around broken IVRS tables
Browse files Browse the repository at this point in the history
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.

Cc: stable@vger.kernel.org # >= 3.0
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
  • Loading branch information
Joerg Roedel committed Jan 23, 2012
1 parent dcd6c92 commit af1be04
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/iommu/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -2863,6 +2863,9 @@ static unsigned device_dma_ops_init(void)

for_each_pci_dev(pdev) {
if (!check_device(&pdev->dev)) {

iommu_ignore_device(&pdev->dev);

unhandled += 1;
continue;
}
Expand Down

0 comments on commit af1be04

Please sign in to comment.