aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorStefan Bader <stefan.bader@canonical.com>2010-03-29 19:12:36 +0200
committerJohn Rigby <john.rigby@linaro.org>2011-11-16 14:22:36 -0700
commit9c1de1c8b8bec5d232e829b9948dac99028d9d2c (patch)
tree3cd7cdb68c3f0a8a9a3b54722a7ca375cf2ed7c8 /arch
parent55d9131f95190cc1e937b9155cae3fe87e8fbb52 (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.h2
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;