projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0be8253
)
dmaengine: fix sleep in atomic
author
Dan Williams
<dan.j.williams@intel.com>
Fri, 13 Dec 2013 08:57:03 +0000
(
00:57
-0800)
committer
Dan Williams
<dan.j.williams@intel.com>
Fri, 13 Dec 2013 08:57:03 +0000
(
00:57
-0800)
BUG: sleeping function called from invalid context at mm/mempool.c:203
in_atomic(): 1, irqs_disabled(): 0, pid: 43502, name: linbug
no locks held by linbug/43502.
CPU: 7 PID: 43502 Comm: linbug Not tainted 3.13.0-rc1+ #15
Hardware name:
0000000000000010
ffff88005ebd1878
ffffffff8172d512
ffff8801752bc1c0
ffff8801752bc1c0
ffff88005ebd1898
ffffffff8109d1f6
ffff88005f9a3c58
ffff880177f0f080
ffff88005ebd1918
ffffffff81161f43
ffff88005ebd18f8
Call Trace:
[<
ffffffff8172d512
>] dump_stack+0x4e/0x68
[<
ffffffff8109d1f6
>] __might_sleep+0xe6/0x120
[<
ffffffff81161f43
>] mempool_alloc+0x93/0x170
[<
ffffffff810c0c34
>] ? mark_held_locks+0x74/0x140
[<
ffffffff8118a826
>] ? follow_page_mask+0x556/0x600
[<
ffffffff814107ae
>] dmaengine_get_unmap_data+0x2e/0x60
[<
ffffffff81410f11
>] dma_async_memcpy_pg_to_pg+0x41/0x1c0
[<
ffffffff814110e0
>] dma_async_memcpy_buf_to_pg+0x50/0x60
[<
ffffffff81411bdc
>] dma_memcpy_to_iovec+0xfc/0x190
[<
ffffffff816163af
>] dma_skb_copy_datagram_iovec+0x6f/0x2b0
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/dmaengine.c
patch
|
blob
|
history
diff --git
a/drivers/dma/dmaengine.c
b/drivers/dma/dmaengine.c
index b601024f518c0e8400294ee884bf77ab818b0c12..ef63b9058f3c09d9d9dea56096bc5edda6d3b125 100644
(file)
--- a/
drivers/dma/dmaengine.c
+++ b/
drivers/dma/dmaengine.c
@@
-1054,7
+1054,7
@@
dma_async_memcpy_pg_to_pg(struct dma_chan *chan, struct page *dest_pg,
dma_cookie_t cookie;
unsigned long flags;
- unmap = dmaengine_get_unmap_data(dev->dev, 2, GFP_NO
IO
);
+ unmap = dmaengine_get_unmap_data(dev->dev, 2, GFP_NO
WAIT
);
if (!unmap)
return -ENOMEM;