Re: [PATCH v2 3/8] i2c: bcm2835: Use ratelimited logging on transfer errors

From: Martin Sperl
Date: Tue Sep 27 2016 - 09:02:14 EST



> On 27 Sep 2016, at 13:57, Noralf TrÃnnes <noralf@xxxxxxxxxxx> wrote:
>
> Writing to an AT24C32 generates on average 2x i2c transfer errors per
> 32-byte page write. Which amounts to a lot for a 4k write. This is due
> to the fact that the chip doesn't respond during it's internal write
> cycle when the at24 driver tries and retries the next write.
> Reduce this flooding of the log by using dev_err_ratelimited().
>
> Signed-off-by: Noralf TrÃnnes <noralf@xxxxxxxxxxx>
> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>
> ---
> drivers/i2c/busses/i2c-bcm2835.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
> index df036ed..370a322 100644
> --- a/drivers/i2c/busses/i2c-bcm2835.c
> +++ b/drivers/i2c/busses/i2c-bcm2835.c
> @@ -207,7 +207,8 @@ static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev,
> (msg->flags & I2C_M_IGNORE_NAK))
> return 0;
>
> - dev_err(i2c_dev->dev, "i2c transfer failed: %x\n", i2c_dev->msg_err);
> + dev_err_ratelimited(i2c_dev->dev, "i2c transfer failed: %x\n",
> + i2c_dev->msg_err);
Do we really need this error message at all?

Maybe just remove it instead, because error messages during
"normal"/successfull operations of at24 seems strange.

Or make it a debug message instead.

Martin