On Thu, Nov 05, 2020 at 05:39:31PM +0100, Marc Kleine-Budde wrote:
> On 11/5/20 5:24 PM, Manivannan Sadhasivam wrote:
> > Hi Marc,
> > 
> > On Tue, Nov 03, 2020 at 11:06:30PM +0100, Marc Kleine-Budde wrote:
> >> During debugging it turned out that some people have setups where the SPI
> >> communication is more prone to CRC errors.
> >>
> >> Increase the severity of both the transfer retry and transfer failure 
> >> message
> >> to give users feedback without the need to recompile the driver with debug
> >> enabled.
> >>
> >> Cc: Manivannan Sadhasivam <manivannan.sadhasi...@linaro.org>
> >> Cc: Thomas Kopp <thomas.k...@microchip.com>
> >> Link: http://lore.kernel.org/r/20201019190524.1285319-15-...@pengutronix.de
> >> Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de>
> >> ---
> >>  drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c | 16 ++++++++--------
> >>  1 file changed, 8 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c 
> >> b/drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c
> >> index ba25902dd78c..c9ffc5ea2b25 100644
> >> --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c
> >> +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c
> >> @@ -330,17 +330,17 @@ mcp251xfd_regmap_crc_read(void *context,
> >>                    goto out;
> >>            }
> >>  
> >> -          netdev_dbg(priv->ndev,
> >> -                     "CRC read error at address 0x%04x (length=%zd, 
> >> data=%*ph, CRC=0x%04x) retrying.\n",
> >> -                     reg, val_len, (int)val_len, buf_rx->data,
> >> -                     get_unaligned_be16(buf_rx->data + val_len));
> >> -  }
> >> -
> >> -  if (err) {
> >>            netdev_info(priv->ndev,
> >> -                      "CRC read error at address 0x%04x (length=%zd, 
> >> data=%*ph, CRC=0x%04x).\n",
> >> +                      "CRC read error at address 0x%04x (length=%zd, 
> >> data=%*ph, CRC=0x%04x) retrying.\n",
> >>                        reg, val_len, (int)val_len, buf_rx->data,
> >>                        get_unaligned_be16(buf_rx->data + val_len));
> > 
> > I'm not finding this inner debug log useful. Does the user really care
> > about the iterations it took to read a register? Just throwing the error
> > after max try seems better to me.
> 
> Bitflips on the SPI should not happen, at least not regularly. Even with my
> breadboard setup and max SPI frequency, I don't see any SPI CRC errors, unless
> there is bad cabling. Then a retry most of the times helps and the user 
> doesn't
> notice. This drops performance...Yes logging drop performance, too, but at 
> least
> someone will notice.
> 
> My rationale was to give the user feedback and not cover a potential problem.
> The driver is new and probably not widely used and I have no idea how often it
> runs into read-CRC problems in production use.
> 

Okay. Let's see if anyone complain ;)

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasi...@linaro.org>

Thanks,
Mani

> Marc
> 
> -- 
> Pengutronix e.K.                 | Marc Kleine-Budde           |
> Embedded Linux                   | https://www.pengutronix.de  |
> Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
> Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
> 



Reply via email to