OSDN Git Service

iommu/amd: Improve error handling for amd_iommu_init_pci
authorSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Tue, 1 Mar 2022 08:56:22 +0000 (14:26 +0530)
committerJoerg Roedel <jroedel@suse.de>
Fri, 4 Mar 2022 09:39:19 +0000 (10:39 +0100)
Add error messages to prevent silent failure.

Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20220301085626.87680-2-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/init.c

index b10fb52..6b5af56 100644 (file)
@@ -1943,9 +1943,11 @@ static int __init amd_iommu_init_pci(void)
 
        for_each_iommu(iommu) {
                ret = iommu_init_pci(iommu);
-               if (ret)
-                       break;
-
+               if (ret) {
+                       pr_err("IOMMU%d: Failed to initialize IOMMU Hardware (error=%d)!\n",
+                              iommu->index, ret);
+                       goto out;
+               }
                /* Need to setup range after PCI init */
                iommu_set_cwwb_range(iommu);
        }
@@ -1961,6 +1963,11 @@ static int __init amd_iommu_init_pci(void)
         * active.
         */
        ret = amd_iommu_init_api();
+       if (ret) {
+               pr_err("IOMMU: Failed to initialize IOMMU-API interface (error=%d)!\n",
+                      ret);
+               goto out;
+       }
 
        init_device_table_dma();
 
@@ -1970,6 +1977,7 @@ static int __init amd_iommu_init_pci(void)
        if (!ret)
                print_iommu_info();
 
+out:
        return ret;
 }