[PATCH] fix: drivers/usb/serial: usb_console_setup: unmatched usb_serial_put on error paths

From: WenTao Liang

Date: Fri Jun 26 2026 - 23:41:10 EST


In usb_console_setup(), serial is obtained via a simple pointer
assignment (port->serial) which does not increment the reference count.
However, all error paths that reach error_get_interface call
usb_serial_put(serial), decrementing a reference that was never acquired
within the function. This causes a refcount underflow on the serial
device.

Remove the unmatched usb_serial_put(serial) call from the error path.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 61dfa797c731 ("USB: serial: console: move mutex_unlock() before usb_serial_put()")
Signed-off-by: WenTao Liang <vulab@xxxxxxxxxxx>
---
drivers/usb/serial/console.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c
index 29f09190846e..e97520cdc43d 100644
--- a/drivers/usb/serial/console.c
+++ b/drivers/usb/serial/console.c
@@ -190,7 +190,6 @@ static int usb_console_setup(struct console *co, char *options)
usb_autopm_put_interface(serial->interface);
error_get_interface:
mutex_unlock(&serial->disc_mutex);
- usb_serial_put(serial);
return retval;
}

--
2.39.5 (Apple Git-154)