diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index feaf47184900..8975965f3e67 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -1304,6 +1304,8 @@ static int __init amd_iommu_init(void) | |||
1304 | if (ret) | 1304 | if (ret) |
1305 | goto free; | 1305 | goto free; |
1306 | 1306 | ||
1307 | enable_iommus(); | ||
1308 | |||
1307 | if (iommu_pass_through) | 1309 | if (iommu_pass_through) |
1308 | ret = amd_iommu_init_passthrough(); | 1310 | ret = amd_iommu_init_passthrough(); |
1309 | else | 1311 | else |
@@ -1316,8 +1318,6 @@ static int __init amd_iommu_init(void) | |||
1316 | 1318 | ||
1317 | amd_iommu_init_notifier(); | 1319 | amd_iommu_init_notifier(); |
1318 | 1320 | ||
1319 | enable_iommus(); | ||
1320 | |||
1321 | if (iommu_pass_through) | 1321 | if (iommu_pass_through) |
1322 | goto out; | 1322 | goto out; |
1323 | 1323 | ||
@@ -1331,6 +1331,7 @@ out: | |||
1331 | return ret; | 1331 | return ret; |
1332 | 1332 | ||
1333 | free: | 1333 | free: |
1334 | disable_iommus(); | ||
1334 | 1335 | ||
1335 | amd_iommu_uninit_devices(); | 1336 | amd_iommu_uninit_devices(); |
1336 | 1337 | ||