On 11/5/20 7:14 PM, Manivannan Sadhasivam wrote: > 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.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. >> > > Okay. Let's see if anyone complain ;) > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> The patch is part of my pull request and has already been merged by Jakub to net/master. 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