Re: [PATCH] crypto: omap-des: Fix unmapping of dma channels

2015-07-06 Thread Herbert Xu
On Thu, Jul 02, 2015 at 06:33:28PM +0530, Lokesh Vutla wrote:
 dma_unmap_sg() is being called twice after completing the
 task. Looks like this is a copy paste error when creating
 des driver.
 With this the following warn appears during boot:
 
 [4.210457] [ cut here ]
 [4.215114] WARNING: CPU: 0 PID: 0 at lib/dma-debug.c:1080 
 check_unmap+0x710/0x9a0()
 [4.222899] omap-des 480a5000.des: DMA-API: device driver tries to free 
 DMA memory it has not allocated [device address=0xab2ce000] [size=8 
 bytes]
 [4.236785] Modules linked in:
 [4.239860] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 
 3.14.39-02999-g1bc045a-dirty #182
 [4.247918] [c001678c] (unwind_backtrace) from [c0012574] 
 (show_stack+0x10/0x14)
 [4.255710] [c0012574] (show_stack) from [c05a37e8] 
 (dump_stack+0x84/0xb8)
 [4.262977] [c05a37e8] (dump_stack) from [c0046464] 
 (warn_slowpath_common+0x68/0x8c)
 [4.271107] [c0046464] (warn_slowpath_common) from [c004651c] 
 (warn_slowpath_fmt+0x30/0x40)
 [4.279854] [c004651c] (warn_slowpath_fmt) from [c02d50a4] 
 (check_unmap+0x710/0x9a0)
 [4.287991] [c02d50a4] (check_unmap) from [c02d5478] 
 (debug_dma_unmap_sg+0x90/0x19c)
 [4.296128] [c02d5478] (debug_dma_unmap_sg) from [c04a77d8] 
 (omap_des_done_task+0x1cc/0x3e4)
 [4.304963] [c04a77d8] (omap_des_done_task) from [c004a090] 
 (tasklet_action+0x84/0x124)
 [4.313370] [c004a090] (tasklet_action) from [c004a4ac] 
 (__do_softirq+0xf0/0x20c)
 [4.321235] [c004a4ac] (__do_softirq) from [c004a840] 
 (irq_exit+0x98/0xec)
 [4.328500] [c004a840] (irq_exit) from [c000f9ac] 
 (handle_IRQ+0x50/0xb0)
 [4.335589] [c000f9ac] (handle_IRQ) from [c0008688] 
 (gic_handle_irq+0x28/0x5c)
 
 Removing the duplicate call to dma_unmap_sg().
 
 Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
 Signed-off-by: Lokesh Vutla lokeshvu...@ti.com

Applied to crypto.
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: omap-des: Fix unmapping of dma channels

2015-07-02 Thread Lokesh Vutla
dma_unmap_sg() is being called twice after completing the
task. Looks like this is a copy paste error when creating
des driver.
With this the following warn appears during boot:

[4.210457] [ cut here ]
[4.215114] WARNING: CPU: 0 PID: 0 at lib/dma-debug.c:1080 
check_unmap+0x710/0x9a0()
[4.222899] omap-des 480a5000.des: DMA-API: device driver tries to free DMA 
memory it has not allocated [device address=0xab2ce000] [size=8 bytes]
[4.236785] Modules linked in:
[4.239860] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 
3.14.39-02999-g1bc045a-dirty #182
[4.247918] [c001678c] (unwind_backtrace) from [c0012574] 
(show_stack+0x10/0x14)
[4.255710] [c0012574] (show_stack) from [c05a37e8] 
(dump_stack+0x84/0xb8)
[4.262977] [c05a37e8] (dump_stack) from [c0046464] 
(warn_slowpath_common+0x68/0x8c)
[4.271107] [c0046464] (warn_slowpath_common) from [c004651c] 
(warn_slowpath_fmt+0x30/0x40)
[4.279854] [c004651c] (warn_slowpath_fmt) from [c02d50a4] 
(check_unmap+0x710/0x9a0)
[4.287991] [c02d50a4] (check_unmap) from [c02d5478] 
(debug_dma_unmap_sg+0x90/0x19c)
[4.296128] [c02d5478] (debug_dma_unmap_sg) from [c04a77d8] 
(omap_des_done_task+0x1cc/0x3e4)
[4.304963] [c04a77d8] (omap_des_done_task) from [c004a090] 
(tasklet_action+0x84/0x124)
[4.313370] [c004a090] (tasklet_action) from [c004a4ac] 
(__do_softirq+0xf0/0x20c)
[4.321235] [c004a4ac] (__do_softirq) from [c004a840] 
(irq_exit+0x98/0xec)
[4.328500] [c004a840] (irq_exit) from [c000f9ac] (handle_IRQ+0x50/0xb0)
[4.335589] [c000f9ac] (handle_IRQ) from [c0008688] 
(gic_handle_irq+0x28/0x5c)

Removing the duplicate call to dma_unmap_sg().

Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
Signed-off-by: Lokesh Vutla lokeshvu...@ti.com
---
 drivers/crypto/omap-des.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/crypto/omap-des.c b/drivers/crypto/omap-des.c
index 4630709..0a70e46 100644
--- a/drivers/crypto/omap-des.c
+++ b/drivers/crypto/omap-des.c
@@ -536,9 +536,6 @@ static int omap_des_crypt_dma_stop(struct omap_des_dev *dd)
dmaengine_terminate_all(dd-dma_lch_in);
dmaengine_terminate_all(dd-dma_lch_out);
 
-   dma_unmap_sg(dd-dev, dd-in_sg, dd-in_sg_len, DMA_TO_DEVICE);
-   dma_unmap_sg(dd-dev, dd-out_sg, dd-out_sg_len, DMA_FROM_DEVICE);
-
return err;
 }
 
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html