linux/drivers/net/can
Gerhard Uttenthaler 0861e96600 can: ems_usb: Fix possible tx overflow
[ Upstream commit 90cfde4658 ]

This patch fixes the problem that more CAN messages could be sent to the
interface as could be send on the CAN bus. This was more likely for slow baud
rates. The sleeping _start_xmit was woken up in the _write_bulk_callback. Under
heavy TX load this produced another bulk transfer without checking the
free_slots variable and hence caused the overflow in the interface.

Signed-off-by: Gerhard Uttenthaler <uttenthaler@ems-wuensche.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-03-07 12:33:23 -05:00
..
c_can can: c_can: Fix default pinmux glitch at init 2015-08-10 12:21:51 -07:00
cc770 can: constify of_device_id array 2015-03-17 15:00:23 -04:00
m_can can: m_cam: m_can_fifo_write(): remove return from void function 2015-03-22 23:50:11 +01:00
mscan can: constify of_device_id array 2015-03-17 15:00:23 -04:00
sja1000 can: sja1000: clear interrupts on start 2015-12-09 14:03:22 -05:00
softing can: move can_stats.bus_off++ from can_bus_off into can_change_state 2015-01-20 13:56:53 +01:00
spi can: mcp251x: fix resume when device is down 2015-08-10 12:21:51 -07:00
usb can: ems_usb: Fix possible tx overflow 2016-03-07 12:33:23 -05:00
at91_can.c can: at91_can: use endian agnostic IO accessors 2015-03-22 23:50:12 +01:00
bfin_can.c bfin_can: Merge header file from arch dependent location 2015-03-04 09:52:49 +01:00
dev.c can: Use correct type in sizeof() in nla_put() 2015-12-09 14:03:21 -05:00
flexcan.c can: flexcan: Deferred on Regulator return EPROBE_DEFER 2015-03-22 19:20:10 +01:00
grcan.c can: constify of_device_id array 2015-03-17 15:00:23 -04:00
janz-ican3.c can: janz-ican3: fix type mismatch in assignment 2015-02-04 14:06:43 +01:00
Kconfig can: CAN_GRCAN should depend on HAS_DMA 2015-04-23 14:09:58 -04:00
led.c can: add combined rx/tx LED trigger support 2015-03-22 23:50:11 +01:00
Makefile can: Enable -D__CHECK_ENDIAN__ for sparse by default 2014-12-07 21:22:06 +01:00
pch_can.c can: move can_stats.bus_off++ from can_bus_off into can_change_state 2015-01-20 13:56:53 +01:00
rcar_can.c can: rcar_can: print signed IRQ # 2015-08-10 12:21:51 -07:00
slcan.c can: replace timestamp as unique skb attribute 2015-08-10 12:21:51 -07:00
ti_hecc.c can: move can_stats.bus_off++ from can_bus_off into can_change_state 2015-01-20 13:56:53 +01:00
vcan.c can: replace timestamp as unique skb attribute 2015-08-10 12:21:51 -07:00
xilinx_can.c net: can: xilinx_can: fix extended frame handling 2015-05-01 10:11:46 +02:00