linux/drivers/net
Marc Kleine-Budde d5a7b406c5 can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX
In patch

    0d1862e can: flexcan: fix flexcan_chip_start() on imx6

the loop in flexcan_chip_start() that iterates over all mailboxes after the
soft reset of the CAN core was removed. This loop put all mailboxes (even the
ones marked as reserved 1...7) into EMPTY/INACTIVE mode. On mailboxes 8...63,
this aborts any pending TX messages.

After a cold boot there is random garbage in the mailboxes, which leads to
spontaneous transmit of CAN frames during first activation. Further if the
interface was disabled with a pending message (usually due to an error
condition on the CAN bus), this message is retransmitted after enabling the
interface again.

This patch fixes the regression by:
1) Limiting the maximum number of used mailboxes to 8, 0...7 are used by the RX
FIFO, 8 is used by TX.
2) Marking the TX mailbox as EMPTY/INACTIVE, so that any pending TX of that
mailbox is aborted.

Cc: linux-stable <stable@vger.kernel.org>
Cc: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2013-10-09 23:01:35 +02:00
..
appletalk
arcnet arcnet: cleanup sizeof parameter 2013-07-19 17:36:03 -07:00
bonding bonding: Fix broken promiscuity reference counting issue 2013-09-30 21:10:55 -07:00
caif caif: add a sanity check to the tty name 2013-09-04 00:27:27 -04:00
can can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX 2013-10-09 23:01:35 +02:00
cris
dsa
ethernet gianfar: Enable eTSEC-20 erratum w/a for P2020 Rev1 2013-10-09 14:02:02 -04:00
fddi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
hamradio
hippi
hyperv Drivers: hv: remove HV_DRV_VERSION 2013-08-02 11:34:30 +08:00
ieee802154 mrf24j40: Use level-triggered interrupts 2013-10-08 15:32:14 -04:00
irda net/irda/mcs7780: fix memory leaks in mcs_net_open() 2013-09-12 23:43:56 -04:00
phy drivers: net: phy: cicada.c: clears warning Use #include <linux/io.h> instead of <asm/io.h> 2013-09-17 19:07:00 -04:00
plip
ppp ip: generate unique IP identificator if local fragmentation is allowed 2013-09-19 14:11:15 -04:00
slip slip/slcan: added locking in wakeup function 2013-09-20 15:38:26 -04:00
team net: team: inherit addr_assign_type along with dev_addr 2013-09-03 20:57:49 -04:00
usb dm9601: fix IFF_ALLMULTI handling 2013-09-30 19:48:59 -04:00
vmxnet3 VMXNET3: Add support for virtual IOMMU 2013-08-27 16:02:02 -04:00
wan net: wan: sbni: Fix incorrect placement of __initdata 2013-08-09 13:24:26 -07:00
wimax
wireless iwlwifi: pcie: fix merge damage 2013-10-07 13:34:43 -04:00
xen-netback xen-netback: transition to CLOSED when removing a VIF 2013-10-08 16:15:51 -04:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net loopback: Set loopback_dev to NULL when freed 2013-09-17 19:05:13 -04:00
macvlan.c macvlan: Move skb_clone check closer to call 2013-09-11 16:03:12 -04:00
macvtap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-26 16:37:08 -04:00
Makefile
mdio.c
mii.c
netconsole.c netconsole: fix a deadlock with rtnl and netconsole's mutex 2013-09-19 14:15:53 -04:00
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c tun: don't look at current when non-blocking 2013-10-08 15:38:35 -04:00
veth.c veth: add vlan features 2013-07-19 17:36:03 -07:00
virtio_net.c virtio-net: Set RXCSUM feature if GUEST_CSUM is available 2013-09-03 21:36:41 -04:00
vxlan.c vxlan: Use RCU apis to access sk_user_data. 2013-09-30 14:22:59 -04:00
xen-netfront.c xen-netfront: pull on receive skb may need to happen earlier 2013-07-17 12:51:19 -07:00