summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/pci-dma.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-11-10 13:35:17 +0100
committerIngo Molnar <mingo@elte.hu>2009-11-10 14:11:32 +0100
commit72d03802b8b5c841ab1da82bff0652628cbadf60 (patch)
treecd0329e3b9d6dec8585e3bfed976c9e7eee79fbf /arch/x86/kernel/pci-dma.c
parentx86: Handle HW IOMMU initialization failure gracefully (diff)
downloadlinux-72d03802b8b5c841ab1da82bff0652628cbadf60.tar.xz
linux-72d03802b8b5c841ab1da82bff0652628cbadf60.zip
x86, 32-bit: Fix swiotlb boot crash
Ingo Molnar reported this boot crash: [ 8.655620] pata_amd 0000:00:06.0: version 0.4.1 [ 8.660286] BUG: unable to handle kernel NULL pointer dereference at 00000034 [ 8.663572] IP: [<c100617b>] dma_supported+0x3b/0xa4 [ 8.663572] *pde = 00000000 Initialize dma_ops properly in the 32-bit case. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/pci-dma.c')
-rw-r--r--arch/x86/kernel/pci-dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index a234e63c2656..63eebee80e75 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -129,6 +129,8 @@ void __init pci_iommu_alloc(void)
#ifdef CONFIG_X86_64
/* free the range so iommu could get some range less than 4G */
dma32_free_bootmem();
+#else
+ dma_ops = &nommu_dma_ops;
#endif
pci_swiotlb_init();
if (use_swiotlb)