can: mcp251x: avoid repeated frame bug
authorBenoît Locher <Benoit.Locher@skf.com>
Mon, 27 Aug 2012 13:02:45 +0000 (15:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Oct 2012 16:47:26 +0000 (09:47 -0700)
commit9680ec7a46f19fd9b143adc8c69493834f450eee
treedb987408b857a04c7379e1406aaf796915d2887d
parentbc2f6ff9239c013e9ad1ff5a64b86d85d7fc4a3f
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/can/mcp251x.c