diff options
-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 9dc91b431470..883d61990623 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -1288,6 +1288,8 @@ static int __init amd_iommu_init(void) | |||
1288 | if (ret) | 1288 | if (ret) |
1289 | goto free; | 1289 | goto free; |
1290 | 1290 | ||
1291 | enable_iommus(); | ||
1292 | |||
1291 | if (iommu_pass_through) | 1293 | if (iommu_pass_through) |
1292 | ret = amd_iommu_init_passthrough(); | 1294 | ret = amd_iommu_init_passthrough(); |
1293 | else | 1295 | else |
@@ -1300,8 +1302,6 @@ static int __init amd_iommu_init(void) | |||
1300 | 1302 | ||
1301 | amd_iommu_init_notifier(); | 1303 | amd_iommu_init_notifier(); |
1302 | 1304 | ||
1303 | enable_iommus(); | ||
1304 | |||
1305 | if (iommu_pass_through) | 1305 | if (iommu_pass_through) |
1306 | goto out; | 1306 | goto out; |
1307 | 1307 | ||
@@ -1315,6 +1315,7 @@ out: | |||
1315 | return ret; | 1315 | return ret; |
1316 | 1316 | ||
1317 | free: | 1317 | free: |
1318 | disable_iommus(); | ||
1318 | 1319 | ||
1319 | amd_iommu_uninit_devices(); | 1320 | amd_iommu_uninit_devices(); |
1320 | 1321 | ||