提交 7ad820e4 编写于 作者: J Joerg Roedel

iommu/amd: Free IOMMU resources when disabled on command line

After we made sure that all IOMMUs have been disabled we
need to make sure that all resources we allocated are
released again.
Signed-off-by: NJoerg Roedel <jroedel@suse.de>
上级 f6019271
...@@ -2430,6 +2430,13 @@ static int __init state_next(void) ...@@ -2430,6 +2430,13 @@ static int __init state_next(void)
case IOMMU_IVRS_DETECTED: case IOMMU_IVRS_DETECTED:
ret = early_amd_iommu_init(); ret = early_amd_iommu_init();
init_state = ret ? IOMMU_INIT_ERROR : IOMMU_ACPI_FINISHED; init_state = ret ? IOMMU_INIT_ERROR : IOMMU_ACPI_FINISHED;
if (init_state == IOMMU_ACPI_FINISHED && amd_iommu_disabled) {
pr_info("AMD-Vi: AMD IOMMU disabled on kernel command-line\n");
free_dma_resources();
free_iommu_resources();
init_state = IOMMU_CMDLINE_DISABLED;
ret = -EINVAL;
}
break; break;
case IOMMU_ACPI_FINISHED: case IOMMU_ACPI_FINISHED:
early_enable_iommus(); early_enable_iommus();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册