iommu/amd: Work around broken IVRS tables
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>
This commit is contained in:
Родитель
dcd6c92267
Коммит
af1be04901
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче