linux-sg2042/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 Annotate hardware config module parameters in drivers/net/can/ 2017-04-20 12:02:32 +01:00
ifi_canfd can: ifi: use correct register to read rx status 2017-04-04 17:48:22 +02:00
m_can can: m_can: add deep Suspend/Resume support 2017-05-18 10:32:48 +02:00
mscan treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
peak_canfd can: peak_canfd: fix uninitialized symbol warnings 2017-06-09 11:39:23 +02:00
rcar scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
sja1000 Annotate hardware config module parameters in drivers/net/can/ 2017-04-20 12:02:32 +01:00
softing sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
spi can: hi311x: Add Holt HI-311x CAN driver 2017-04-04 17:35:59 +02:00
usb can: gs_usb: fix busy loop if no more TX context is available 2017-10-19 13:05:54 +02:00
Kconfig can: add Virtual CAN Tunnel driver (vxcan) 2017-04-25 09:04:30 +02:00
Makefile can: add Virtual CAN Tunnel driver (vxcan) 2017-04-25 09:04:30 +02:00
at91_can.c net: can: at91_can: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
bfin_can.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
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 docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
janz-ican3.c net: can: janz-ican3: constify attribute_group structures. 2017-07-18 12:04:56 -07:00
led.c can: add combined rx/tx LED trigger support 2015-03-22 23:50:11 +01:00
pch_can.c can: fix assignment of error location in CAN error messages 2015-11-23 09:37:34 +01:00
rx-offload.c can: rx-offload: Add support for timestamp based irq offloading 2017-02-06 15:13:24 +01:00
slcan.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
sun4i_can.c can: remove obsolete assignment for CAN protocol error type 2015-11-23 09:37:38 +01:00
ti_hecc.c can: ti_hecc: fix return value check in ti_hecc_probe() 2017-04-25 10:03:40 +02:00
vcan.c can: enable CAN FD for virtual CAN devices by default 2017-06-09 14:39:02 +02:00
vxcan.c net: add netlink_ext_ack argument to rtnl_link_ops.newlink 2017-06-26 23:13:21 -04:00
xilinx_can.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00