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.sadhasivam@xxxxxxxxxx> >> Cc: Thomas Kopp <thomas.kopp@xxxxxxxxxxxxx> >> Link: http://lore.kernel.org/r/20201019190524.1285319-15-mkl@xxxxxxxxxxxxxx >> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> >> --- >> 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. 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 |
Attachment:
signature.asc
Description: OpenPGP digital signature