linux-sg2042/drivers/net/can/usb
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
..
peak_usb can: peak_usb: fix product-id endianness in error message 2017-06-09 11:39:23 +02:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
Makefile can: mcba_usb: Add support for Microchip CAN BUS Analyzer 2017-04-25 09:00:49 +02:00
ems_usb.c net: can: usb: ems_usb: don't print error when allocating urb fails 2016-08-13 14:53:38 -07:00
esd_usb2.c can: esd_usb2: Fix can_dlc value for received RTR, frames 2017-10-19 13:05:54 +02:00
gs_usb.c can: gs_usb: fix busy loop if no more TX context is available 2017-10-19 13:05:54 +02:00
kvaser_usb.c net: can: usb: kvaser_usb: fix spelling mistake of "outstanding" 2016-12-01 14:27:02 +01:00
mcba_usb.c can: mcba_usb: Add support for Microchip CAN BUS Analyzer 2017-04-25 09:00:49 +02:00
usb_8dev.c can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer 2017-03-03 13:00:07 +01:00