| From 2f3c42c442e2fceae677090e021d175f4ce12f44 Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Date: Sun, 28 May 2017 09:52:17 +0200 |
| Subject: [PATCH 051/286] i2c: rcar: use correct length when unmapping DMA |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| Because we need to transfer some bytes with PIO, the msg length is not |
| the length of the DMA buffer. Use the correct value which we used when |
| doing the mapping. |
| |
| Fixes: 73e8b0528346e8 ("i2c: rcar: add DMA support") |
| Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Reviewed-by: Niklas Sรถderlund <niklas.soderlund+renesas@ragnatech.se> |
| Signed-off-by: Wolfram Sang <wsa@the-dreams.de> |
| (cherry picked from commit 916335036d4fe33f9806240cb0d1900f4975b959) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/i2c/busses/i2c-rcar.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/i2c/busses/i2c-rcar.c |
| +++ b/drivers/i2c/busses/i2c-rcar.c |
| @@ -319,7 +319,7 @@ static void rcar_i2c_dma_unmap(struct rc |
| rcar_i2c_write(priv, ICFBSCR, TCYC06); |
| |
| dma_unmap_single(chan->device->dev, sg_dma_address(&priv->sg), |
| - priv->msg->len, priv->dma_direction); |
| + sg_dma_len(&priv->sg), priv->dma_direction); |
| |
| priv->dma_direction = DMA_NONE; |
| } |