Skip to content

Commit

Permalink
can: mcp251x: Move to threaded interrupts instead of workqueues.
Browse files Browse the repository at this point in the history
This patch addresses concerns about efficiency of handling incoming
packets. Handling of interrupts is done in a threaded interrupt handler
which has a smaller latency than workqueues. This change needed a rework
of the locking scheme that was much simplified. Some other (more or less
longstanding) bugs are fixed: utilization of just half of the RX
buffers, useless wait for interrupt on open, more reliable reset
sequence. The MERR interrupt is not used anymore: it overloads the CPU
in error-passive state without any additional information. One shot mode
is disabled because it's not clear if it can be handled efficiently on
this CAN controller.

Signed-off-by: Christian Pellegrin <chripell@fsfe.org>
Acked-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Christian Pellegrin authored and davem330 committed Feb 4, 2010
1 parent 35cfabd commit bf66f37
Showing 1 changed file with 203 additions and 218 deletions.

0 comments on commit bf66f37

Please sign in to comment.