alistair23-linux/drivers/net/can
Wolfgang Grandegger 97819f9430 can: gs_usb: fix busy loop if no more TX context is available
If sending messages with no cable connected, it quickly happens that
there is no more TX context available. Then "gs_can_start_xmit()"
returns with "NETDEV_TX_BUSY" and the upper layer does retry
immediately keeping the CPU busy. To fix that issue, I moved
"atomic_dec(&dev->active_tx_urbs)" from "gs_usb_xmit_callback()" to
the TX done handling in "gs_usb_receive_bulk_callback()". Renaming
"active_tx_urbs" to "active_tx_contexts" and moving it into
"gs_[alloc|free]_tx_context()" would also make sense.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2017-10-19 13:05:54 +02:00
..
c_can can: constify platform_device_id 2017-08-13 20:12:23 -07:00
cc770
ifi_canfd
m_can
mscan
peak_canfd
rcar
sja1000
softing
spi
usb can: gs_usb: fix busy loop if no more TX context is available 2017-10-19 13:05:54 +02:00
at91_can.c net: can: at91_can: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
bfin_can.c
dev.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
flexcan.c can: flexcan: fix p1010 state transition issue 2017-10-19 13:05:53 +02:00
grcan.c
janz-ican3.c net: can: janz-ican3: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
Kconfig
led.c
Makefile
pch_can.c
rx-offload.c
slcan.c
sun4i_can.c
ti_hecc.c
vcan.c
vxcan.c net: add netlink_ext_ack argument to rtnl_link_ops.newlink 2017-06-26 23:13:21 -04:00
xilinx_can.c