LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Rajat Jain <rajatja@google.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Alan Stern <stern@rowland.harvard.edu>,
	Rajat Jain <rajatja@google.com>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	Mathias Nyman <mathias.nyman@linux.intel.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Chris Chiu <chris.chiu@canonical.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: levinale@google.com, bleung@google.com, rajatxjain@gmail.com,
	jsbarnes@google.com, pmalani@google.com
Subject: [PATCH 1/2] usb: hub: Mark root hubs on removable devices, as removable.
Date: Wed, 29 Sep 2021 15:48:22 -0700	[thread overview]
Message-ID: <20210929224823.556943-1-rajatja@google.com> (raw)

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


             reply	other threads:[~2021-09-29 22:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-29 22:48 Rajat Jain [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210929224823.556943-1-rajatja@google.com \
    --to=rajatja@google.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=andrew@lunn.ch \
    --cc=bleung@google.com \
    --cc=chris.chiu@canonical.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jsbarnes@google.com \
    --cc=levinale@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=pmalani@google.com \
    --cc=rajatxjain@gmail.com \
    --cc=stern@rowland.harvard.edu \
    --subject='Re: [PATCH 1/2] usb: hub: Mark root hubs on removable devices, as removable.' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).