[ 053/187] iommu/amd: Fix missing iommu_shutdown initialization in passthrough mode

Greg Kroah-Hartman
2012-07-12T22:38:43Z

From: Shuah Khan <shuah.khan@hp.com>

commit f2f12b6fc032c7b1419fd6db84e2868b5f05a878 upstream.

The iommu_shutdown callback is not initialized when the AMD
IOMMU driver runs in passthrough mode. Fix that by moving
the callback initialization before the check for
passthrough mode.

Signed-off-by: Shuah Khan <shuah.khan@hp.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
drivers/iommu/amd_iommu_init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -1641,6 +1641,8 @@ static int __init amd_iommu_init(void)

amd_iommu_init_api();

+ x86_platform.iommu_shutdown = disable_iommus;
+
if (iommu_pass_through)
goto out;

@@ -1649,8 +1651,6 @@ static int __init amd_iommu_init(void)
else
printk(KERN_INFO "AMD-Vi: Lazy IO/TLB flushing enabled\n");

- x86_platform.iommu_shutdown = disable_iommus;
-
out:
return ret;