[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