[PATCH] i2c: at91: Initialize dma_buf in at91_twi_xfer()

Nathan Chancellor nathan at kernel.org
Fri May 13 09:50:43 PDT 2022


Ping? This is a pretty obvious fix and this warning turns into an error
with CONFIG_WERROR so some of our -next builds have been broken for over
a week now.

On Thu, May 05, 2022 at 08:27:38AM -0700, Nathan Chancellor wrote:
> Clang warns:
> 
>   drivers/i2c/busses/i2c-at91-master.c:707:6: warning: variable 'dma_buf' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
>           if (dev->use_dma) {
>               ^~~~~~~~~~~~
>   drivers/i2c/busses/i2c-at91-master.c:717:27: note: uninitialized use occurs here
>           i2c_put_dma_safe_msg_buf(dma_buf, m_start, !ret);
>                                    ^~~~~~~
> 
> Initialize dma_buf to NULL, as i2c_put_dma_safe_msg_buf() is a no-op
> when the first argument is NULL, which will work for the !dev->use_dma
> case.
> 
> Fixes: 03fbb903c8bf ("i2c: at91: use dma safe buffers")
> Link: https://github.com/ClangBuiltLinux/linux/issues/1629
> Signed-off-by: Nathan Chancellor <nathan at kernel.org>
> ---
>  drivers/i2c/busses/i2c-at91-master.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-at91-master.c b/drivers/i2c/busses/i2c-at91-master.c
> index 5eca3b3bb609..c0c35785a0dc 100644
> --- a/drivers/i2c/busses/i2c-at91-master.c
> +++ b/drivers/i2c/busses/i2c-at91-master.c
> @@ -656,7 +656,7 @@ static int at91_twi_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num)
>  	unsigned int_addr_flag = 0;
>  	struct i2c_msg *m_start = msg;
>  	bool is_read;
> -	u8 *dma_buf;
> +	u8 *dma_buf = NULL;
>  
>  	dev_dbg(&adap->dev, "at91_xfer: processing %d messages:\n", num);
>  
> 
> base-commit: a181b8d187319bf265a2019ddde856a3d2f107a6
> -- 
> 2.36.0
> 
> 



More information about the linux-arm-kernel mailing list