mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
xhci: dbgtty: fix device unregister
When DbC is disconnected then xhci_dbc_tty_unregister_device()
is called. However if there is any user space process blocked
on write to DbC terminal device then it will never be signalled
and thus stay blocked indifinitely.
This fix adds a tty_vhangup() call in xhci_dbc_tty_unregister_device().
The tty_vhangup() wakes up any blocked writers and causes subsequent
write attempts to DbC terminal device to fail.
Cc: stable <stable@kernel.org>
Fixes: dfba2174dc ("usb: xhci: Add DbC support in xHCI driver")
Signed-off-by: Łukasz Bartosik <ukaszb@chromium.org>
Link: https://patch.msgid.link/20251119212910.1245694-1-ukaszb@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b59d4fda7e
commit
1f73b8b56c
@@ -550,6 +550,12 @@ static void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)
|
|||||||
|
|
||||||
if (!port->registered)
|
if (!port->registered)
|
||||||
return;
|
return;
|
||||||
|
/*
|
||||||
|
* Hang up the TTY. This wakes up any blocked
|
||||||
|
* writers and causes subsequent writes to fail.
|
||||||
|
*/
|
||||||
|
tty_vhangup(port->port.tty);
|
||||||
|
|
||||||
tty_unregister_device(dbc_tty_driver, port->minor);
|
tty_unregister_device(dbc_tty_driver, port->minor);
|
||||||
xhci_dbc_tty_exit_port(port);
|
xhci_dbc_tty_exit_port(port);
|
||||||
port->registered = false;
|
port->registered = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user