linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: JC Kuo <jckuo@nvidia.com>
Cc: linux-usb@vger.kernel.org, stern@rowland.harvard.edu,
	usb-storage@lists.one-eyed-alien.net, oneukum@suse.com
Subject: Re: [PATCH] usb: storage: skip only when uas driver is loaded
Date: Tue, 2 Jul 2019 06:42:49 +0200	[thread overview]
Message-ID: <20190702044249.GA694@kroah.com> (raw)
In-Reply-To: <8e8e8703-8620-b625-4917-bbb8d999caa4@nvidia.com>

On Tue, Jul 02, 2019 at 10:36:59AM +0800, JC Kuo wrote:
> On 7/1/19 4:52 PM, Greg KH wrote:
> > On Mon, Jul 01, 2019 at 04:48:48PM +0800, JC Kuo wrote:
> >> When usb-storage driver detects a UAS capable device, it ignores the
> >> device if CONFIG_USB_UAS is enabled. usb-storage driver assumes uas
> >> driver certainly will be loaded. However, it's possible that uas
> >> driver will not be loaded, for example, uas kernel module is not
> >> installed properly or it is in modprobe blacklist.
> >>
> >> In case of uas driver not being loaded, the UAS capable device will
> >> not fallback to work at Bulk-only-transfer mode. The device just
> >> disappears without any notification to user/userspace.
> >>
> >> This commit changes usb-storage driver to skip UAS capable device
> >> only when uas driver is already loaded to make sure the device will
> >> at least work with Bulk protocol.
> > 
> > But what happens if the driver is loaded afterward, because 'modprobe'
> > was called by the driver core (or it should have been, because this is a
> > device that supports that protocol)?
> If uas driver is loaded after usb-storage driver probed the device,
> the device will still work with Bulk-only protocol, though it can't
> make uses of streams.

Which is not a good thing, and is what the original code was there to
prevent happening.

> > I think you just broke working systems :(
> > 
> > Why wouldn't the UAS driver get loaded automatically if it is configured
> > in the system as it is today?
> An user might want to completely disable uas for some reason so he/she
> adds "blacklist uas" to modprobe conf file. I think in case of this,
> usb-storage driver has to enable this device with the legacy Bulk-only
> protocol instead of ignoring the device.

Why would they want to do that?  Where are people doing this in ways
that breaks their systems?

> As an alternative to this patch, I thought I could get uas driver
> loaded before usb-storage driver so I tried moving the functions in
> drivers/usb/storage/uas-detect.h into uas.c and letting usb-storage
> links uas_use_uas_driver() of uas.ko. However, that didn't work
> because uas driver actually depends on usb-storage driver for
> usb_stor_adjust_quirks(). There will be a recursive dependency.
> 
> Please let me know if there is better approach to avoid the issue.

If users blacklist the uas driver, that's their choice and they should
rebuild their kernel :)

Or better yet, talk to us to get the issue fixed for why they would want
to blacklist such a driver.

As it is, this patch is not acceptable.

thanks,

greg k-h

  reply	other threads:[~2019-07-02  4:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-01  8:48 [PATCH] usb: storage: skip only when uas driver is loaded JC Kuo
2019-07-01  8:52 ` Greg KH
2019-07-02  2:36   ` JC Kuo
2019-07-02  4:42     ` Greg KH [this message]
2019-07-02  5:29       ` JC Kuo
2019-07-02  6:56         ` JC Kuo
2019-07-02  7:34           ` Greg KH
2019-07-02  7:57             ` JC Kuo
2019-07-02  8:14               ` Greg KH
2019-07-02  9:11           ` Oliver Neukum
2019-07-02 14:05             ` JC Kuo
2019-07-02 15:29               ` Oliver Neukum
2019-07-02  6:53     ` Oliver Neukum

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=20190702044249.GA694@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=jckuo@nvidia.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.com \
    --cc=stern@rowland.harvard.edu \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).