Thread (19 messages) 19 messages, 2 authors, 2012-07-19

Lifecycle

  1. Posted "Ira W. Snyder" <iws@ovro.caltech.edu>

[PATCH 0/6] can: janz-ican3: multiple fixes

From: Ira W. Snyder <hidden>
Date: 2012-07-18 22:33:20

From: "Ira W. Snyder" <redacted>

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help