On 2017-05-28 09:52:17 +0200, Wolfram Sang wrote:
> 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 <[email protected]>
Reviewed-by: Niklas Söderlund <[email protected]>
> ---
> drivers/i2c/busses/i2c-rcar.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
> index 214bf2835d1f95..8be3e6cb8fe686 100644
> --- 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 rcar_i2c_priv *priv)
> 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;
> }
> --
> 2.11.0
>
--
Regards,
Niklas Söderlund