[PATCH can-next 07/10] can: gs_usb: gs_usb_receive_bulk_callback(): report channel number out of range error

From: Marc Kleine-Budde

Date: Sat Oct 03 2026 - 18:54:19 EST


If the USB device sends an invalid channel, the device should not be
silently detached; instead, the display an error message before detaching.

Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
---
drivers/net/can/usb/gs_usb.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 848a84a05fd6..86f7cac093a1 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -627,8 +627,13 @@ static void gs_usb_receive_bulk_callback(struct urb *urb)
}

/* device reports out of range channel id */
- if (hf->channel >= parent->channel_cnt)
+ if (hf->channel >= parent->channel_cnt) {
+ dev_err_ratelimited(&parent->udev->dev,
+ "channel number out of range (channel=%u, channel_cnt=%u)\n",
+ hf->channel, parent->channel_cnt);
+
goto device_detach;
+ }

dev = parent->canch[hf->channel];


--
2.53.0