From 795f8eeca01d1c9ca3d9a450385b7745ace4e53a Mon Sep 17 00:00:00 2001 From: Michael Grzeschik Date: Tue, 22 Sep 2026 00:25:55 +0200 Subject: [PATCH] net/9p/usbg: set client to Disconnected on usb9pfs_disable This patch is setting the client status to Disconnected, when the client is still in use. Otherwise a disconnected usb cable would run any use of the mount to faults. Fixes: a3be076dc174 ("net/9p/usbg: Add new usb gadget function transport") Cc: stable@vger.kernel.org Signed-off-by: Michael Grzeschik Message-ID: <20260922-usb9pfsfixes-v1-2-9d8dcc52904c@kernel.org> Signed-off-by: Dominique Martinet --- net/9p/trans_usbg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/net/9p/trans_usbg.c b/net/9p/trans_usbg.c index 55bdcef1f9c5..002e0a5842ab 100644 --- a/net/9p/trans_usbg.c +++ b/net/9p/trans_usbg.c @@ -757,7 +757,12 @@ static int usb9pfs_set_alt(struct usb_function *f, static void usb9pfs_disable(struct usb_function *f) { struct f_usb9pfs *usb9pfs = func_to_usb9pfs(f); + unsigned long flags; + spin_lock_irqsave(&usb9pfs->lock, flags); + if (usb9pfs->client) + usb9pfs->client->status = Disconnected; + spin_unlock_irqrestore(&usb9pfs->lock, flags); usb9pfs_clear_tx(usb9pfs); }