diff options
author | 2012-07-19 08:54:42 -0700 | |
---|---|---|
committer | 2012-07-20 17:49:04 +0200 | |
commit | 83702f69272e4591a91a27eb58eade1bcd361dae (patch) | |
tree | 7e0c4a6c702c3fd5e11b553099998b6cba21bd44 /drivers/net/xen-netfront.c | |
parent | can: janz-ican3: fix error and byte counters (diff) | |
download | linux-dev-83702f69272e4591a91a27eb58eade1bcd361dae.tar.xz linux-dev-83702f69272e4591a91a27eb58eade1bcd361dae.zip |
can: janz-ican3: fix support for CAN_RAW_RECV_OWN_MSGS
The Janz VMOD-ICAN3 firmware does not support any sort of TX-done
notification or interrupt. The driver previously used the hardware
loopback to attempt to work around this deficiency, but this caused all
sockets to receive all messages, even if CAN_RAW_RECV_OWN_MSGS is off.
Using the new function ican3_cmp_echo_skb(), we can drop the loopback
messages and return the original skbs. This fixes the issues with
CAN_RAW_RECV_OWN_MSGS.
A private skb queue is used to store the echo skbs. This avoids the need
for any index management.
Due to a lack of TX-error interrupts, bus errors are permanently
enabled, and are used as a TX-error notification. This is used to drop
an echo skb when transmission fails. Bus error packets are not generated
if the user has not enabled bus error reporting.
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/xen-netfront.c')
0 files changed, 0 insertions, 0 deletions