linux/drivers/net/can
Thomas Gleixner 640916db2b can: c_can: Make it SMP safe
The hardware has two message control interfaces, but the code only uses the
first one. So on SMP the following can be observed:

CPU0 	       	CPU1
rx_poll()
  write IF1	xmit()
		write IF1
  write IF1

That results in corrupted message object configurations. The TX/RX is not
globally serialized it's only serialized on a core.

Simple solution: Let RX use IF1 and TX use IF2 and all is good.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2014-04-01 11:54:58 +02:00
..
c_can can: c_can: Make it SMP safe 2014-04-01 11:54:58 +02:00
cc770
mscan Merge remote-tracking branch 'agust/next' into next 2014-01-29 16:53:55 +11:00
sja1000 can: sja1000: add support for Elcus CAN200PCI 2014-01-11 19:43:16 +01:00
softing drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
usb can: usb_8dev: Fix memory leak in usb_8dev_start_xmit 2014-04-01 11:54:55 +02:00
at91_can.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
bfin_can.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
dev.c can: add destructor for self generated skbs 2014-01-30 16:25:49 -08:00
flexcan.c can: flexcan: factor out soft reset into seperate funtion 2014-03-03 14:29:51 +01:00
grcan.c
janz-ican3.c linux-can-fixes-for-3.14-20140129 2014-01-30 16:48:17 -08:00
Kconfig can: flexcan: fix flexcan driver build for big endian on ARM and little endian on PowerPc 2014-01-29 20:23:22 +01:00
led.c
Makefile
mcp251x.c
pch_can.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
slcan.c
ti_hecc.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
vcan.c can: add destructor for self generated skbs 2014-01-30 16:25:49 -08:00