diff options
author | Fenghua Yu <[fenghua.yu@intel.com]> | 2009-08-11 14:52:10 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-08 20:33:51 -0700 |
commit | cd20a4e8b2a7f2d10ef23978ccd8c85eff3ac3a2 (patch) | |
tree | aa072d07d6481091cf94c3b62a87d65a2fc76b8e | |
parent | 108c7d85e4f7e2c5e01dd554d7a13bb0dbab7768 (diff) | |
download | lwn-cd20a4e8b2a7f2d10ef23978ccd8c85eff3ac3a2.tar.gz lwn-cd20a4e8b2a7f2d10ef23978ccd8c85eff3ac3a2.zip |
Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported()
commit 51b89f7a6615eca184aa0b85db5781d931e9c8d1 upstream.
In commit 160c1d8e40866edfeae7d68816b7005d70acf391,
dma_ops->dma_supported = iommu_dma_supported;
This dma_ops->dma_supported is first called in platform_dma_init() during kernel
boot. Then dma_ops->dma_supported will be called recursively in
iommu_dma_supported.
Kernel can not boot because kernel can not get out of iommu_dma_supported until
it runs out of stack memory.
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | arch/ia64/kernel/pci-dma.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/ia64/kernel/pci-dma.c b/arch/ia64/kernel/pci-dma.c index eb987386f691..391f637c7505 100644 --- a/arch/ia64/kernel/pci-dma.c +++ b/arch/ia64/kernel/pci-dma.c @@ -67,11 +67,6 @@ iommu_dma_init(void) int iommu_dma_supported(struct device *dev, u64 mask) { - struct dma_map_ops *ops = platform_dma_get_ops(dev); - - if (ops->dma_supported) - return ops->dma_supported(dev, mask); - /* Copied from i386. Doesn't make much sense, because it will only work for pci_alloc_coherent. The caller just has to use GFP_DMA in this case. */ |