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.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>

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

Reply via email to