can: mcp251x: avoid repeated frame bug
authorBenoît Locher <Benoit.Locher@skf.com>
Mon, 27 Aug 2012 13:02:45 +0000 (15:02 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 19 Sep 2012 14:05:05 +0000 (15:05 +0100)
commit0112e26a6a0f374041033fb5472f01db2658ac51
tree38c231866b9a50aacf5842dd098a8b5e339f8f04
parentf094377d3dc8bbf4baf9db85f88cd65fb1fccd1a
can: mcp251x: avoid repeated frame bug

commit cab32f39dcc5b35db96497dc0a026b5dea76e4e7 upstream.

The MCP2515 has a silicon bug causing repeated frame transmission, see section
5 of MCP2515 Rev. B Silicon Errata Revision G (March 2007).

Basically, setting TXBnCTRL.TXREQ in either SPI mode (00 or 11) will eventually
cause the bug. The workaround proposed by Microchip is to use mode 00 and send
a RTS command on the SPI bus to initiate the transmission.

Signed-off-by: Benoît Locher <Benoit.Locher@skf.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/can/mcp251x.c