Skip to content

Commit 3e54d3b

Browse files
can: gs_usb: gs_can_open(): fix error handling
Commit 2603be9 ("can: gs_usb: gs_can_open(): improve error handling") added missing error handling to the gs_can_open() function. The driver uses 2 USB anchors to track the allocated URBs: the TX URBs in struct gs_can::tx_submitted for each netdev and the RX URBs in struct gs_usb::rx_submitted for the USB device. gs_can_open() allocates the RX URBs, while TX URBs are allocated during gs_can_start_xmit(). The cleanup in gs_can_open() kills all anchored dev->tx_submitted URBs (which is not necessary since the netdev is not yet registered), but misses the parent->rx_submitted URBs. Fix the problem by killing the rx_submitted instead of the tx_submitted. Fixes: 2603be9 ("can: gs_usb: gs_can_open(): improve error handling") Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20251210-gs_usb-fix-error-handling-v1-1-d6a5a03f10bb@pengutronix.de Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
1 parent 6abd457 commit 3e54d3b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/net/can/usb/gs_usb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,7 @@ static int gs_can_open(struct net_device *netdev)
10741074
usb_free_urb(urb);
10751075
out_usb_kill_anchored_urbs:
10761076
if (!parent->active_channels) {
1077-
usb_kill_anchored_urbs(&dev->tx_submitted);
1077+
usb_kill_anchored_urbs(&parent->rx_submitted);
10781078

10791079
if (dev->feature & GS_CAN_FEATURE_HW_TIMESTAMP)
10801080
gs_usb_timestamp_stop(parent);

0 commit comments

Comments
 (0)