i2c: at91: use correct length in dma_unmap_single()
The driver calls dma_map_single() with either 'dev->buf_len' or
'dev->buf_len - 2' as length argument, but always uses 'dev->buf_len'
in dma_unmap_single(). This produces the warning:
at91_i2c
f8014000.i2c: DMA-API: device driver frees DMA memory with different size [device address=0x000000002fbf9240] [map size=20 bytes] [unmap size=22 bytes]
with CONFIG_DMA_API_DEBUG enabled.
Use dma_sg_len() as argument for dma_unmap_single() which is always
set to the correct length.