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 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 | ||
