From: Marc Kleine-Budde <mkl@pengutronix.de>
To: linux-can@vger.kernel.org
Cc: "Manivannan Sadhasivam" <mani@kernel.org>,
"Thomas Kopp" <thomas.kopp@microchip.com>,
"Stefan Althöfer" <Stefan.Althoefer@janztec.com>,
kernel@pengutroniux.de
Subject: [PATCH 0/5] can: mcp251xfd: workaround double-RX erratum
Date: Wed, 11 Jan 2023 23:20:37 +0100 [thread overview]
Message-ID: <20230111222042.1139027-1-mkl@pengutronix.de> (raw)
Hello,
this is a proof of concept implementation to work around the
"double-RX" erratum found by Stefan Althöfer.
With the help of Thomas we found out that the chip has a time window
after receiving a CAN frame where the RX FIFO STA register content is
not read correctly.
From the driver's point of view, everything looks consistent at first,
but the head index of the chip is too large. This causes the driver to
rehandle old CAN frames that have already been processed.
The workaround uses the RX timestamp to distinguish between new and
old data. As soon as old data is found, processing is stopped.
The series applies against current net/main. The patches lack proper
descriptions, I'll add them in the next round.
Happy testing,
Marc
Link: https://lore.kernel.org/all/FR0P281MB1966273C216630B120ABB6E197E89@FR0P281MB1966.DEUP281.PROD.OUTLOOK.COM
next reply other threads:[~2023-01-11 22:22 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-11 22:20 Marc Kleine-Budde [this message]
2023-01-11 22:20 ` [PATCH 1/5] can: mcp251xfd: setup cycle counter before mcp251xfd_ring_init() Marc Kleine-Budde
2023-01-11 22:20 ` [PATCH 2/5] can: mcp251xfd: introduce mcp251xfd_skb_set_timestamp_from_tbc() and make use of it Marc Kleine-Budde
2023-01-11 22:20 ` [PATCH 3/5] can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function Marc Kleine-Budde
2023-01-11 22:20 ` [PATCH 4/5] can: mcp251xfd: rx: mcp251xfd_handle_rxif_ring() Marc Kleine-Budde
2023-01-11 22:20 ` [PATCH 5/5] can: mcp251xfd: implement workaround for double-RX erratum Marc Kleine-Budde
2023-01-11 22:30 ` [PATCH 0/5] can: mcp251xfd: workaround " Marc Kleine-Budde
2023-01-12 7:54 ` Marc Kleine-Budde
2023-01-13 12:39 ` AW: " Stefan Althöfer
2023-01-13 13:08 ` Marc Kleine-Budde
2023-01-16 7:19 ` Thomas.Kopp
2023-01-25 5:41 ` Tom Evans
2023-01-25 6:59 ` Thomas.Kopp
2023-01-25 7:42 ` Marc Kleine-Budde
2023-01-25 9:21 ` AW: " Stefan Althöfer
2023-01-16 8:43 ` Stefan Althöfer
2023-01-18 23:11 ` Marc Kleine-Budde
2023-01-16 19:49 ` Stefan Althöfer
2023-01-16 22:15 ` Marc Kleine-Budde
2023-01-19 7:47 ` AW: " Stefan Althöfer
2023-01-19 12:02 ` Marc Kleine-Budde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230111222042.1139027-1-mkl@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=Stefan.Althoefer@janztec.com \
--cc=kernel@pengutroniux.de \
--cc=linux-can@vger.kernel.org \
--cc=mani@kernel.org \
--cc=thomas.kopp@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox