Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

One patch fixes an bug in the ARM/MSM IOMMU code which returned sucess
in the unmap function even when an error occured and the other patch
adds a workaround into the AMD IOMMU driver to better handle broken IVRS
ACPI tables (this patch fixes the case when a device is not listed in
the table but actually translated by the iommu).

* 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
iommu/msm: Fix error handling in msm_iommu_unmap()
iommu/amd: Work around broken IVRS tables

+4 -6
+3
drivers/iommu/amd_iommu.c
··· 2863 2863 2864 2864 for_each_pci_dev(pdev) { 2865 2865 if (!check_device(&pdev->dev)) { 2866 + 2867 + iommu_ignore_device(&pdev->dev); 2868 + 2866 2869 unhandled += 1; 2867 2870 continue; 2868 2871 }
+1 -6
drivers/iommu/msm_iommu.c
··· 482 482 483 483 priv = domain->priv; 484 484 485 - if (!priv) { 486 - ret = -ENODEV; 485 + if (!priv) 487 486 goto fail; 488 - } 489 487 490 488 fl_table = priv->pgtable; 491 489 492 490 if (len != SZ_16M && len != SZ_1M && 493 491 len != SZ_64K && len != SZ_4K) { 494 492 pr_debug("Bad length: %d\n", len); 495 - ret = -EINVAL; 496 493 goto fail; 497 494 } 498 495 499 496 if (!fl_table) { 500 497 pr_debug("Null page table\n"); 501 - ret = -EINVAL; 502 498 goto fail; 503 499 } 504 500 ··· 503 507 504 508 if (*fl_pte == 0) { 505 509 pr_debug("First level PTE is 0\n"); 506 - ret = -ENODEV; 507 510 goto fail; 508 511 } 509 512