summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2021-03-17 10:10:36 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-24 11:54:00 +0100
commit36013e9ffc0a17eee8d3e4d92aea0dc37687760d (patch)
treec94820b76643279e1f365aa98891c37d86be6c26 /drivers
parent4409417054f7ad3649a747c1171a55654b8c3c28 (diff)
downloadlinux-36013e9ffc0a17eee8d3e4d92aea0dc37687760d.tar.gz
linux-36013e9ffc0a17eee8d3e4d92aea0dc37687760d.tar.bz2
linux-36013e9ffc0a17eee8d3e4d92aea0dc37687760d.zip
iommu/amd: Don't call early_amd_iommu_init() when AMD IOMMU is disabled
commit 9f81ca8d1fd68f5697c201f26632ed622e9e462f upstream. Don't even try to initialize the AMD IOMMU hardware when amd_iommu=off has been passed on the kernel command line. References: https://bugzilla.kernel.org/show_bug.cgi?id=212133 References: https://bugzilla.suse.com/show_bug.cgi?id=1183132 Cc: stable@vger.kernel.org # v5.11 Signed-off-by: Joerg Roedel <jroedel@suse.de> Link: https://lore.kernel.org/r/20210317091037.31374-3-joro@8bytes.org Acked-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/iommu/amd/init.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 01da76dc1caa..41b7725399f9 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -2917,12 +2917,12 @@ static int __init state_next(void)
}
break;
case IOMMU_IVRS_DETECTED:
- ret = early_amd_iommu_init();
- init_state = ret ? IOMMU_INIT_ERROR : IOMMU_ACPI_FINISHED;
- if (init_state == IOMMU_ACPI_FINISHED && amd_iommu_disabled) {
- pr_info("AMD IOMMU disabled\n");
+ if (amd_iommu_disabled) {
init_state = IOMMU_CMDLINE_DISABLED;
ret = -EINVAL;
+ } else {
+ ret = early_amd_iommu_init();
+ init_state = ret ? IOMMU_INIT_ERROR : IOMMU_ACPI_FINISHED;
}
break;
case IOMMU_ACPI_FINISHED: