[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <PA4P190MB1390EEE7C7B2BB17410D653BD9709@PA4P190MB1390.EURP190.PROD.OUTLOOK.COM>
Date: Thu, 9 Dec 2021 12:53:56 +0000
From: Sven Schuchmann <schuchmann@...leissheimer.de>
To: Marc Kleine-Budde <mkl@...gutronix.de>
CC: "Thomas.Kopp@...rochip.com" <Thomas.Kopp@...rochip.com>,
"pavel.modilaynen@...vocars.com" <pavel.modilaynen@...vocars.com>,
"drew@...gleboard.org" <drew@...gleboard.org>,
"linux-can@...r.kernel.org" <linux-can@...r.kernel.org>,
"menschel.p@...teo.de" <menschel.p@...teo.de>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"will@...china.cc" <will@...china.cc>
Subject: AW: [net-next 6/6] can: mcp251xfd: mcp251xfd_regmap_crc_read(): work
around broken CRC on TBC register
Hello Marc,
> Von: Marc Kleine-Budde <mkl@...gutronix.de>
> Gesendet: Donnerstag, 9. Dezember 2021 12:28
> An: Sven Schuchmann <schuchmann@...leissheimer.de>
>
> On 09.12.2021 11:17:09, Sven Schuchmann wrote:
> > we are also seeing the CRC Errors in our setup (rpi4, Kernel 5.10.x)
> > from time to time. I just wanted to post here what I am seeing, maybe
> > it helps...
> >
> > [ 6.761711] spi_master spi1: will run message pump with realtime priority
> > [ 6.778063] mcp251xfd spi1.0 can1: MCP2518FD rev0.0 (-RX_INT -MAB_NO_WARN +CRC_REG
> +CRC_RX +CRC_TX +ECC -HD c:40.00MHz m:20.00MHz r:17.00MHz e:16.66MHz) successfully
> initialized.
> >
> > [ 4327.107856] mcp251xfd spi1.0 canfd1: CRC read error at address 0x0010 (length=4,
> data=00 cc 62 c4, CRC=0xa3a0) retrying.
> > [ 7770.163335] mcp251xfd spi1.0 canfd1: CRC read error at address 0x0010 (length=4,
> data=00 bf 16 d5, CRC=0x9d3c) retrying.
> > [ 8000.565955] mcp251xfd spi1.0 canfd1: CRC read error at address 0x0010 (length=4,
> data=00 40 66 fa, CRC=0x31d7) retrying.
> > [ 9753.658173] mcp251xfd spi1.0 canfd1: CRC read error at address 0x0010 (length=4,
> data=80 e9 01 4e, CRC=0xe862) retrying.
>
> You are using the a back port of my HW timestamp in your v5.10 branch.
> So every 45 seconds the TBC register (address 0x0010) is read,
> additionally for every CAN error frame.
>
> In the mean time, I've implemented a workaround for the CRC read errors:
>
> | c7eb923c3caf can: mcp251xfd: mcp251xfd_regmap_crc_read(): work around broken CRC on TBC
> register
> | ef7a8c3e7599 can: mcp251xfd: mcp251xfd_regmap_crc_read_one(): Factor out crc check into
> separate function
>
> It fixes the CRC read error, if the first data byte is 0x00 or 0x80.
>
> These messages should disappear, if you cherry-pick the above patches.
Sorry for the confusion, you are right.
I picked the two patches and so far no more CRC read errors.
Thanks a lot.
Sven
Powered by blists - more mailing lists