alistair23-linux/drivers/net
Ira W. Snyder 83702f6927 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>
2012-07-20 17:49:04 +02:00
..
appletalk drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
arcnet
bonding bonding: refine IFF_XMIT_DST_RELEASE capability 2012-07-18 09:31:25 -07:00
caif caif-hsi: Fix merge issues. 2012-06-29 00:46:53 -07:00
can can: janz-ican3: fix support for CAN_RAW_RECV_OWN_MSGS 2012-07-20 17:49:04 +02:00
cris net: Properly define functions with no parameters 2012-07-10 23:13:45 -07:00
dsa
ethernet Merge branch 'net' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2012-07-19 13:39:27 -07:00
fddi drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
hamradio drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
hippi
hyperv hyperv: Add support for setting MAC from within guests 2012-07-16 22:54:24 -07:00
irda drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-07-10 23:56:33 -07:00
plip
ppp ppp: avoid false drop_monitor false positives 2012-05-19 02:32:30 -04:00
slip drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
team team: refine IFF_XMIT_DST_RELEASE capability 2012-07-18 11:28:46 -07:00
usb asix: AX88172A driver depends on phylib 2012-07-19 10:48:07 -07:00
vmxnet3 drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
wan drivers: net: Remove casts to same type 2012-06-06 09:31:33 -07:00
wimax drivers/net: Use eth_random_addr 2012-07-16 22:38:28 -07:00
wireless wireless: Use eth_random_addr 2012-07-16 22:38:28 -07:00
xen-netback xen/netback: only non-freed SKB is queued into tx_queue 2012-06-29 00:50:20 -07:00
dummy.c dummy: use IFF_LIVE_ADDR_CHANGE priv_flag 2012-06-30 01:08:00 -07:00
eql.c
ifb.c
Kconfig tokenring: delete all remaining driver support 2012-05-15 20:23:16 -04:00
LICENSE.SRC
loopback.c
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-16 22:17:37 -04:00
macvtap.c macvtap: use prepare_to_wait/finish_wait to ensure mb 2012-06-07 13:18:54 -07:00
Makefile tokenring: delete all remaining driver support 2012-05-15 20:23:16 -04:00
mdio.c
mii.c
netconsole.c
rionet.c
sb1000.c
Space.c drivers/net: delete all code/drivers depending on CONFIG_MCA 2012-05-17 16:37:41 -04:00
sungem_phy.c
tun.c drivers/net: Use eth_random_addr 2012-07-16 22:38:28 -07:00
veth.c
virtio_net.c virtio_net: use IFF_LIVE_ADDR_CHANGE priv_flag 2012-06-30 01:08:00 -07:00
xen-netfront.c xen/netfront: teardown the device before unregistering it. 2012-06-27 01:25:41 -07:00