1 From 51b89f7a6615eca184aa0b85db5781d931e9c8d1 Mon Sep 17 00:00:00 2001
2 From: Fenghua Yu <[fenghua.yu@intel.com]>
3 Date: Tue, 11 Aug 2009 14:52:10 -0700
4 Subject: Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported()
6 From: Fenghua Yu <[fenghua.yu@intel.com]>
8 commit 51b89f7a6615eca184aa0b85db5781d931e9c8d1 upstream.
10 In commit 160c1d8e40866edfeae7d68816b7005d70acf391,
11 dma_ops->dma_supported = iommu_dma_supported;
13 This dma_ops->dma_supported is first called in platform_dma_init() during kernel
14 boot. Then dma_ops->dma_supported will be called recursively in
17 Kernel can not boot because kernel can not get out of iommu_dma_supported until
18 it runs out of stack memory.
20 Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
21 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
24 arch/ia64/kernel/pci-dma.c | 5 -----
25 1 file changed, 5 deletions(-)
27 --- a/arch/ia64/kernel/pci-dma.c
28 +++ b/arch/ia64/kernel/pci-dma.c
29 @@ -67,11 +67,6 @@ iommu_dma_init(void)
31 int iommu_dma_supported(struct device *dev, u64 mask)
33 - struct dma_map_ops *ops = platform_dma_get_ops(dev);
35 - if (ops->dma_supported)
36 - return ops->dma_supported(dev, mask);
38 /* Copied from i386. Doesn't make much sense, because it will
39 only work for pci_alloc_coherent.
40 The caller just has to use GFP_DMA in this case. */