Re: [PATCH 06/18] i2c: i801: remove printout on handled timeouts

Andi Shyti
2024-04-10T12:22:02Z

Hi Wolfram,

On Wed, Apr 10, 2024 at 01:24:20PM +0200, Wolfram Sang wrote:
> I2C and SMBus timeouts are not something the user needs to be informed
> about on controller level. The client driver may know if that really is
> a problem and give more detailed information to the user. The controller
> should just pass this information upwards. Turn all timeout related
> printouts to debug level.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
>
> Here, I did not delete the printout to support checking the termination
> process. The other drivers in this series do not have this SMBus
> specific termination step.
>
> drivers/i2c/busses/i2c-i801.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index 4294c0c63cef..a42b5152f9bd 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -400,7 +400,7 @@ static int i801_check_post(struct i801_priv *priv, int status)
> * If the SMBus is still busy, we give up
> */
> if (unlikely(status < 0)) {
> - dev_err(&priv->pci_dev->dev, "Transaction timeout\n");
> + dev_dbg(&priv->pci_dev->dev, "Transaction timeout\n");

why after 5 patches of removing dev_err's, here you are changing
them to dev_dbg?

It's still good, but if we want to be strict, errors should
print errors: as we are returning -ETIMEDOUT, then we are
treating the case as an error and we should print error.

Upwards, then, we can put some more logic and decide whether
-ETIMEDOUT is a real error or not and consequently print a debug
or an error message.

As you did before, I would just remove the printout here.

I will wait a bit for more comments and take patches 1 to 5 so
that I can unburden you a little from them.

Thanks,
Andi

> /* try to stop the current command */
> dev_dbg(&priv->pci_dev->dev, "Terminating the current operation\n");
> outb_p(SMBHSTCNT_KILL, SMBHSTCNT(priv));
> @@ -411,7 +411,7 @@ static int i801_check_post(struct i801_priv *priv, int status)
> status = inb_p(SMBHSTSTS(priv));
> if ((status & SMBHSTSTS_HOST_BUSY) ||
> !(status & SMBHSTSTS_FAILED))
> - dev_err(&priv->pci_dev->dev,
> + dev_dbg(&priv->pci_dev->dev,
> "Failed terminating the transaction\n");
> return -ETIMEDOUT;
> }
> --
> 2.43.0
>