LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 1/2] usb: hub: Mark root hubs on removable devices, as removable.
@ 2021-09-29 22:48 Rajat Jain
  2021-09-29 22:48 ` [PATCH 2/2] usb: hub: Mark devices downstream a removable hub, " Rajat Jain
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Rajat Jain @ 2021-09-29 22:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Alan Stern, Rajat Jain, Thinh Nguyen,
	Mathias Nyman, Andrew Lunn, Chris Chiu, linux-usb, linux-kernel
  Cc: levinale, bleung, rajatxjain, jsbarnes, pmalani

Currently all usb root hubs are always marked as DEVICE_REMOVABLE_UNKNOWN
unconditionally. Let us try to help the users to identify the removable
root hubs, by checking the device on which the root hub sits. If the base
(parent) device on which the root hub sits, is removable (e.g. on
thunderbolt docks), then the roothub is also marked as removable.

Signed-off-by: Rajat Jain <rajatja@google.com>
---
 drivers/usb/core/hub.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 86658a81d284..45d1c81b121d 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2440,8 +2440,16 @@ static void set_usb_port_removable(struct usb_device *udev)
 
 	dev_set_removable(&udev->dev, DEVICE_REMOVABLE_UNKNOWN);
 
-	if (!hdev)
+	if (!hdev) {
+		/*
+		 * If the root hub sits on a removable device, mark the root hub
+		 * removable as well. This helps with the USB root hubs sitting
+		 * on the thunderbolt docks.
+		 */
+		if (udev->dev.parent && dev_is_removable(udev->dev.parent))
+			dev_set_removable(&udev->dev, DEVICE_REMOVABLE);
 		return;
+	}
 
 	hub = usb_hub_to_struct_hub(udev->parent);
 
-- 
2.33.0.685.g46640cef36-goog


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-10-06 18:36 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 22:48 [PATCH 1/2] usb: hub: Mark root hubs on removable devices, as removable Rajat Jain
2021-09-29 22:48 ` [PATCH 2/2] usb: hub: Mark devices downstream a removable hub, " Rajat Jain
2021-09-30  5:31   ` Greg Kroah-Hartman
2021-10-04 22:42     ` Rajat Jain
2021-10-05 14:56       ` Alan Stern
2021-10-05 16:51         ` Dmitry Torokhov
2021-10-05 19:59           ` Alan Stern
2021-10-05 23:43             ` Rajat Jain
2021-10-06  0:41               ` Andrew Lunn
2021-10-06 16:08               ` Alan Stern
2021-10-06  9:37             ` Oliver Neukum
2021-10-06 16:10               ` Alan Stern
2021-10-06 18:36                 ` Oliver Neukum
2021-09-30  5:30 ` [PATCH 1/2] usb: hub: Mark root hubs on removable devices, " Greg Kroah-Hartman
2021-10-04 21:51   ` Rajat Jain
2021-09-30  8:02 ` Oliver Neukum
2021-10-04 21:56   ` Rajat Jain
2021-10-05 11:19 ` Greg Kroah-Hartman
2021-10-05 23:49   ` Rajat Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).