1
0
Fork 0
alistair23-linux/net/can
Oliver Hartkopp 36c01245eb can: fix loss of CAN frames in raw_rcv
As reported by Manfred Schlaegl here

   http://marc.info/?l=linux-netdev&m=143482089824232&w=2

commit 514ac99c64 "can: fix multiple delivery of a single CAN frame for
overlapping CAN filters" requires the skb->tstamp to be set to check for
identical CAN skbs.

As net timestamping is influenced by several players (netstamp_needed and
netdev_tstamp_prequeue) Manfred missed a proper timestamp which leads to
CAN frame loss.

As skb timestamping became now mandatory for CAN related skbs this patch
makes sure that received CAN skbs always have a proper timestamp set.
Maybe there's a better solution in the future but this patch fixes the
CAN frame loss so far.

Reported-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2015-06-21 18:58:58 +02:00
..
Kconfig can: Kconfig: switch on all CAN protocolls by default 2013-01-26 16:58:58 +01:00
Makefile can-gw: add netlink based CAN routing 2011-09-16 17:37:51 -04:00
af_can.c can: fix loss of CAN frames in raw_rcv 2015-06-21 18:58:58 +02:00
af_can.h can: add hash based access to single EFF frame filters 2014-05-19 09:38:24 +02:00
bcm.c net: Remove iocb argument from sendmsg and recvmsg 2015-03-02 13:06:31 -05:00
gw.c netlink: make nlmsg_end() and genlmsg_end() void 2015-01-18 01:03:45 -05:00
proc.c can: add hash based access to single EFF frame filters 2014-05-19 09:38:24 +02:00
raw.c can: introduce new raw socket option to join the given CAN filters 2015-04-01 11:28:22 +02:00