diff options
author | Stefan Bader <stefan.bader@canonical.com> | 2010-03-29 19:12:36 +0200 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2011-09-12 09:02:13 -0600 |
commit | f170e7640f82c8790966a321f4c530aaea238f31 (patch) | |
tree | 01b3e29c822650395a78caeebaf3402c2380afd8 /arch | |
parent | b1441122727abe8c2a09d87dd6acc3b8568f82b9 (diff) |
UBUNTU: SAUCE: (no-up) dma-mapping: Remove WARN_ON in dma_free_coherent
BugLink: http://bugs.launchpad.net/bugs/458201
Triggered by the following backtrace:
WARNING: at
/build/buildd/linux-2.6.32/arch/x86/include/asm/dma-mapping.h:154
___free_dma_mem_cluster+0x102/0x110()
[<ffffffff81064f9b>] warn_slowpath_common+0x7b/0xc0
[<ffffffff81064ff4>] warn_slowpath_null+0x14/0x20
[<ffffffff8139a2a2>] ___free_dma_mem_cluster+0x102/0x110
[<ffffffff8139a072>] __sym_mfree+0xd2/0x100
[<ffffffff8139a109>] __sym_mfree_dma+0x69/0x100
[<ffffffff8139245f>] sym_hcb_free+0x8f/0x1f0
This patch never will be accepted upstream because the WARN_ON
is supposed to perevent driver development which is only
compatible with x86 on x86 (ARM can sleep in that function).
The right way to fix it would be to make the offending function
use locks in the right way but that requires careful implementation.
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/dma-mapping.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h index d4c419f883a..e2ba5100305 100644 --- a/arch/x86/include/asm/dma-mapping.h +++ b/arch/x86/include/asm/dma-mapping.h @@ -144,8 +144,6 @@ static inline void dma_free_coherent(struct device *dev, size_t size, { struct dma_map_ops *ops = get_dma_ops(dev); - WARN_ON(irqs_disabled()); /* for portability */ - if (dma_release_from_coherent(dev, get_order(size), vaddr)) return; |