diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2012-06-22 20:42:36 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2012-06-27 02:42:03 -0400 |
commit | a68d2595876c7cc56f122572fa0a3465d438fefc (patch) | |
tree | 1d29d908b19702edec03b5d50c6519fd2d6ebbcb /drivers/crypto/caam | |
parent | 70d793cc30a129d974363b4f3c22c9db6bbb18ed (diff) |
crypto: caam - fix input job ring element dma mapping size
SEC4 h/w gets configured in 32- vs. 36-bit physical
addressing modes depending on the size of dma_addr_t,
which is not always equal to sizeof(u32 *).
Also fixed alignment of a dma_unmap call whilst in there.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/caam')
-rw-r--r-- | drivers/crypto/caam/jr.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c index 340fa322c0f0..6ce4c41c8634 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c | |||
@@ -376,7 +376,7 @@ static int caam_jr_init(struct device *dev) | |||
376 | 376 | ||
377 | /* Setup rings */ | 377 | /* Setup rings */ |
378 | inpbusaddr = dma_map_single(dev, jrp->inpring, | 378 | inpbusaddr = dma_map_single(dev, jrp->inpring, |
379 | sizeof(u32 *) * JOBR_DEPTH, | 379 | sizeof(dma_addr_t) * JOBR_DEPTH, |
380 | DMA_BIDIRECTIONAL); | 380 | DMA_BIDIRECTIONAL); |
381 | if (dma_mapping_error(dev, inpbusaddr)) { | 381 | if (dma_mapping_error(dev, inpbusaddr)) { |
382 | dev_err(dev, "caam_jr_init(): can't map input ring\n"); | 382 | dev_err(dev, "caam_jr_init(): can't map input ring\n"); |
@@ -391,9 +391,9 @@ static int caam_jr_init(struct device *dev) | |||
391 | DMA_BIDIRECTIONAL); | 391 | DMA_BIDIRECTIONAL); |
392 | if (dma_mapping_error(dev, outbusaddr)) { | 392 | if (dma_mapping_error(dev, outbusaddr)) { |
393 | dev_err(dev, "caam_jr_init(): can't map output ring\n"); | 393 | dev_err(dev, "caam_jr_init(): can't map output ring\n"); |
394 | dma_unmap_single(dev, inpbusaddr, | 394 | dma_unmap_single(dev, inpbusaddr, |
395 | sizeof(u32 *) * JOBR_DEPTH, | 395 | sizeof(dma_addr_t) * JOBR_DEPTH, |
396 | DMA_BIDIRECTIONAL); | 396 | DMA_BIDIRECTIONAL); |
397 | kfree(jrp->inpring); | 397 | kfree(jrp->inpring); |
398 | kfree(jrp->outring); | 398 | kfree(jrp->outring); |
399 | kfree(jrp->entinfo); | 399 | kfree(jrp->entinfo); |
@@ -447,7 +447,7 @@ int caam_jr_shutdown(struct device *dev) | |||
447 | dma_unmap_single(dev, outbusaddr, | 447 | dma_unmap_single(dev, outbusaddr, |
448 | sizeof(struct jr_outentry) * JOBR_DEPTH, | 448 | sizeof(struct jr_outentry) * JOBR_DEPTH, |
449 | DMA_BIDIRECTIONAL); | 449 | DMA_BIDIRECTIONAL); |
450 | dma_unmap_single(dev, inpbusaddr, sizeof(u32 *) * JOBR_DEPTH, | 450 | dma_unmap_single(dev, inpbusaddr, sizeof(dma_addr_t) * JOBR_DEPTH, |
451 | DMA_BIDIRECTIONAL); | 451 | DMA_BIDIRECTIONAL); |
452 | kfree(jrp->outring); | 452 | kfree(jrp->outring); |
453 | kfree(jrp->inpring); | 453 | kfree(jrp->inpring); |