|
@@ -1021,6 +1021,13 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
|
|
|
ret = init_iommu_from_acpi(iommu, h);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Make sure IOMMU is not considered to translate itself. The IVRS
|
|
|
+ * table tells us so, but this is a lie!
|
|
|
+ */
|
|
|
+ amd_iommu_rlookup_table[iommu->devid] = NULL;
|
|
|
+
|
|
|
init_iommu_devices(iommu);
|
|
|
|
|
|
return 0;
|