linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] can: janz-ican3: multiple fixes
@ 2012-07-18 22:33 Ira W. Snyder
  2012-07-18 22:33 ` [PATCH 1/6] can: janz-ican3: remove dead code Ira W. Snyder
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Ira W. Snyder @ 2012-07-18 22:33 UTC (permalink / raw)
  To: linux-can; +Cc: Ira W. Snyder

From: "Ira W. Snyder" <iws@ovro.caltech.edu>

This patch series started out as a way to fix support for
CAN_RAW_RECV_OWN_MSGS, and has grown quite a bit since then.

The new addition is a workaround for a quirk in the firmware. If you have
enabled infinite bus error messages to be generated, but your host CPU
cannot keep up, the firmware will stop responding to control messages until
it is hard-reset. This can be worked around by setting a small bus error
quota, and re-enabling bus errors every time you receive a message.

With this change, leaving the controller in "one-shot off" mode, it will
successfully send the packet as soon as the bus is reconnected. This is the
expected behavior, and it works well. The "one-shot on" mode works as well,
without retransmissions.

I moved the TX-error vs. ECHO skb handling from patch #6 (add support for
one shot mode) into patch #4 (fix support for CAN_RAW_RECV_OWN_MSGS). This
puts all of the ECHO skb changes into a single patch.

Many thanks to those who have provided feedback for this patch series. It
is appreciated.

Changes since last version:
- several unrelated changes broken into separate small patches
- ECHO vs. TX-error handling moved into patch #4, where it belongs
- avoid firmware lockup caused by patch #4's use of bus error messages
- support for single shot mode is now very simple
- various nitpicks suggested by reviewers

Ira W. Snyder (6):
  can: janz-ican3: remove dead code
  can: janz-ican3: drop invalid skbs
  can: janz-ican3: fix error and byte counters
  can: janz-ican3: fix support for CAN_RAW_RECV_OWN_MSGS
  can: janz-ican3: avoid firmware lockup caused by infinite bus error quota
  can: janz-ican3: add support for one shot mode

 drivers/net/can/janz-ican3.c |  228 ++++++++++++++++++++++++++++++++----------
 1 files changed, 177 insertions(+), 51 deletions(-)

-- 
1.7.8.6


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-07-19 20:17 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-18 22:33 [PATCH 0/6] can: janz-ican3: multiple fixes Ira W. Snyder
2012-07-18 22:33 ` [PATCH 1/6] can: janz-ican3: remove dead code Ira W. Snyder
2012-07-19  8:02   ` Marc Kleine-Budde
2012-07-18 22:33 ` [PATCH 2/6] can: janz-ican3: drop invalid skbs Ira W. Snyder
2012-07-19  8:02   ` Marc Kleine-Budde
2012-07-18 22:33 ` [PATCH 3/6] can: janz-ican3: fix error and byte counters Ira W. Snyder
2012-07-19  8:11   ` Marc Kleine-Budde
2012-07-19 15:50     ` Ira W. Snyder
2012-07-19 15:54       ` Ira W. Snyder
2012-07-19 19:32         ` Marc Kleine-Budde
2012-07-19 20:17           ` Ira W. Snyder
2012-07-18 22:33 ` [PATCH 4/6] can: janz-ican3: fix support for CAN_RAW_RECV_OWN_MSGS Ira W. Snyder
2012-07-19  8:33   ` Marc Kleine-Budde
2012-07-19 15:47     ` Ira W. Snyder
2012-07-19 15:54       ` Ira W. Snyder
2012-07-18 22:33 ` [PATCH 5/6] can: janz-ican3: avoid firmware lockup caused by infinite bus error quota Ira W. Snyder
2012-07-19  8:35   ` Marc Kleine-Budde
2012-07-18 22:33 ` [PATCH 6/6] can: janz-ican3: add support for one shot mode Ira W. Snyder
2012-07-19  8:35   ` Marc Kleine-Budde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).