UBUNTU: SAUCE: (no-up) dma-mapping: Remove WARN_ON in dma_free_coherent
authorStefan Bader <stefan.bader@canonical.com>
Mon, 29 Mar 2010 17:12:36 +0000 (19:12 +0200)
committerLeann Ogasawara <leann.ogasawara@canonical.com>
Mon, 2 Apr 2012 20:09:10 +0000 (13:09 -0700)
commit743385679abfcb0995da19425b4d44cf7bcfd0ba
tree8fb96f04af17fdcdb10f4cc3454e6de4d22d4f8b
parentaf194c16abc44432fea0f83a8ff99bce6bf47ecf
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>
arch/x86/include/asm/dma-mapping.h