x86/amd-iommu: Fix passthrough mode
[safe/jmp/linux-2.6] / arch / x86 / kernel / amd_iommu_init.c
index 7ffc399..df01c69 100644 (file)
@@ -1274,6 +1274,10 @@ static int __init amd_iommu_init(void)
        if (ret)
                goto free;
 
+       ret = amd_iommu_init_devices();
+       if (ret)
+               goto free;
+
        if (iommu_pass_through)
                ret = amd_iommu_init_passthrough();
        else
@@ -1296,6 +1300,9 @@ out:
        return ret;
 
 free:
+
+       amd_iommu_uninit_devices();
+
        free_pages((unsigned long)amd_iommu_pd_alloc_bitmap,
                   get_order(MAX_DOMAIN_ID/8));