diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-11 23:47:59 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-11 23:47:59 -0500 |
commit | 756300983f11a1c6f9457d6d8f57354e0f0fe8d4 (patch) | |
tree | 9f9b791b4af64b4db7dc4a1b6f900ff91fec5206 /arch/x86/kernel/amd_iommu_init.c | |
parent | df7147b3c37cb203f968119f3b6a1cd648c535a1 (diff) | |
parent | 9cf7826743e5c78dcfcfdc99d17f79ce6d3a2942 (diff) |
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86/amd-iommu: Fix PCI hotplug with passthrough mode
x86/amd-iommu: Fix passthrough mode
x86: mmio-mod.c: Use pr_fmt
x86: kmmio.c: Add and use pr_fmt(fmt)
x86: i8254.c: Add pr_fmt(fmt)
x86: setup_percpu.c: Use pr_<level> and add pr_fmt(fmt)
x86: es7000_32.c: Use pr_<level> and add pr_fmt(fmt)
x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs()
x86: Factor duplicated code out of __show_regs() into show_regs_common()
arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix
x86, mce: fix confusion between bank attributes and mce attributes
x86/mce: Set up timer unconditionally
x86: Fix bogus warning in apic_noop.apic_write()
x86: Fix typo in arch/x86/mm/kmmio.c
x86: ASUS P4S800 reboot=bios quirk
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 9c4a6f747552..1dca9c34eaeb 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -1274,6 +1274,10 @@ static int __init amd_iommu_init(void) | |||
1274 | if (ret) | 1274 | if (ret) |
1275 | goto free; | 1275 | goto free; |
1276 | 1276 | ||
1277 | ret = amd_iommu_init_devices(); | ||
1278 | if (ret) | ||
1279 | goto free; | ||
1280 | |||
1277 | if (iommu_pass_through) | 1281 | if (iommu_pass_through) |
1278 | ret = amd_iommu_init_passthrough(); | 1282 | ret = amd_iommu_init_passthrough(); |
1279 | else | 1283 | else |
@@ -1281,6 +1285,8 @@ static int __init amd_iommu_init(void) | |||
1281 | if (ret) | 1285 | if (ret) |
1282 | goto free; | 1286 | goto free; |
1283 | 1287 | ||
1288 | amd_iommu_init_notifier(); | ||
1289 | |||
1284 | enable_iommus(); | 1290 | enable_iommus(); |
1285 | 1291 | ||
1286 | if (iommu_pass_through) | 1292 | if (iommu_pass_through) |
@@ -1296,6 +1302,9 @@ out: | |||
1296 | return ret; | 1302 | return ret; |
1297 | 1303 | ||
1298 | free: | 1304 | free: |
1305 | |||
1306 | amd_iommu_uninit_devices(); | ||
1307 | |||
1299 | free_pages((unsigned long)amd_iommu_pd_alloc_bitmap, | 1308 | free_pages((unsigned long)amd_iommu_pd_alloc_bitmap, |
1300 | get_order(MAX_DOMAIN_ID/8)); | 1309 | get_order(MAX_DOMAIN_ID/8)); |
1301 | 1310 | ||