FAILED: patch "[PATCH] xhci: dbgtty: fix device unregister" failed to apply to 5.15-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x 1f73b8b56cf35de29a433aee7bfff26cea98be3f
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025120110-deuce-arrange-e66c@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1f73b8b56cf35de29a433aee7bfff26cea98be3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Bartosik?= <[email protected]>
Date: Wed, 19 Nov 2025 21:29:09 +0000
Subject: [PATCH] xhci: dbgtty: fix device unregister
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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.
drivers/usb/host/xhci-dbgtty.c +6 -0
@@ -550,6 +550,12 @@ static void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)if (!port->registered)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);xhci_dbc_tty_exit_port (port); port->registered = false;
Sasha Levin
maintainerPATCH 1/2 xhci: dbgtty: use IDR to support several dbc instances.
From: Mathias Nyman <[email protected]>
[ Upstream commit e1ec140f273e1e30cea7e6d5f50934d877232121 ]
To support systems with several xhci controllers with active dbc on each xhci we need to use IDR to identify and give an index to each port.
Avoid using global struct tty_driver.driver_state for storing dbc port pointer as it won't work with several dbc ports
Stable-dep-of: 1f73b8b56cf3 ("xhci: dbgtty: fix device unregister")
--- drivers/usb/host/xhci-dbgcap.h | 1 + drivers/usb/host/xhci-dbgtty.c | 46 ++++++++++++++++++++++++++++------ 2 files changed, 40 insertions(+), 7 deletions(-)
drivers/usb/host/xhci-dbgcap.h +1 -0
@@ -102,6 +102,7 @@ struct dbc_ep {struct dbc_port {struct tty_port port;spinlock_t port_lock;/* port access */ +int minor;struct list_head read_pool;struct list_head read_queue;
drivers/usb/host/xhci-dbgtty.c +39 -7
117 lines not on this page · raw message
Signature · 1 line
2.51.0
Sasha Levin
maintainerPATCH 2/2 xhci: dbgtty: fix device unregister
From: Łukasz Bartosik <[email protected]>
[ Upstream commit 1f73b8b56cf35de29a433aee7bfff26cea98be3f ]
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.
--- drivers/usb/host/xhci-dbgtty.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/usb/host/xhci-dbgtty.c +6 -0
@@ -489,6 +489,12 @@ static void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)if (!port->registered)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);xhci_dbc_tty_exit_port (port); port->registered = false;
Signature · 1 line
2.51.0
Re: [PATCH 5.15.y 2/2] xhci: dbgtty: fix device unregister
Quoted 29 lines · Sasha Levin
From: Łukasz Bartosik <[email protected]>
[ Upstream commit
1f73b8b56cf35de29a433aee7bfff26cea98be3f]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 inxhci_dbc_tty_unregister_device(). Thetty_vhangup()wakes up any blocked writers and causes subsequent write attempts to DbC terminal device to fail.Cc stable <[email protected]>Fixes dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver")Signed-off-by Łukasz Bartosik <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>Signed-off-by Sasha Levin <[email protected]>--- drivers/usb/host/xhci-dbgtty.c | 6 ++++++ 1 file changed, 6 insertions(+)drivers/usb/host/xhci-dbgtty.c +0
-0
drivers/usb/host/xhci-dbgtty.c static void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc) · line 498
Quoted 10 lines
drivers/usb/host/xhci-dbgtty.c +6
-0@@ -489,6 +489,12 @@ static void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)if (!port->registered)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);
In linux-5.15.y baseline this line istty_unregister_device(dbc_tty_driver, 0);
Should I send an updated patch for 5.15.y ?
Thanks,
Łukasz
Quoted 5 lines
drivers/usb/host/xhci-dbgtty.c +0
-1xhci_dbc_tty_exit_port (port); port->registered = false; --2.51.0