[PATCH] i2c: at91: use dma safe buffers

Codrin.Ciubotariu at microchip.com Codrin.Ciubotariu at microchip.com
Tue Apr 5 03:02:34 PDT 2022


On 05.04.2022 12:38, Michael Walle wrote:
> Am 2022-04-05 11:23, schrieb Codrin.Ciubotariu at microchip.com:
>>> +       if (dev->use_dma) {
>>> +               dma_buf = i2c_get_dma_safe_msg_buf(m_start, 1);
>>
>> If you want, you could just dev->buf = i2c_get_dma_safe...
> 
> But where is the error handling in that case? dev->buf will
> be NULL, which is eventually passed to dma_map_single().
> 
> Also, I need the dma_buf for the i2c_put_dma_safe_msg_buf()
> call anyway, because dev->buf will be modified during
> processing.

You still:
	if (!dev->buf) {
		ret = -ENOMEM;
		goto out;
	}

So, at91_do_twi_transfer()/dma_map_single() will not be called.

Best regards,
Codrin



More information about the linux-arm-kernel mailing list