On Fri, 25 Oct 2013, Hans de Goede wrote:

> Hi,
> 
> On 10/24/2013 06:32 PM, Alan Stern wrote:
> > On Thu, 24 Oct 2013, Hans de Goede wrote:
> >
> >> uas devices have 2 alternative settings on their usb-storage interface,
> >> one for usb-storage and one for uas. Using the uas driver is preferred, so 
> >> if
> >> the uas driver is enabled, and the device has an uas alt setting, don't 
> >> bind.
> >
> > We need a mechanism for the user to force a device into usb-storage
> > mode, even if the device claims to support UAS.  It would not be at all
> > surprising to find some devices whose UAS support is broken.
> 
> Agreed, this is one of the reasons why I want to share the uas-detect code
> between the uas and usb-storage drivers, so that we can have a single
> place for a blacklist.
> 
> So I think the best way to provide such a user override would be a kernel
> module option. But that needs to belong to a single module, so I see 2 
> options;
> 1) Turn uas-detect into a separate module
> 2) Use the existing unusual_dev stuff for this and make uas depend on 
> usb-storage
> to get the unusual_dev (included user added extra quirks) from usb-storage
> 
> 2. Makes the most sense to me, since usb-storage will get loaded anyways when
> uas is loaded as they both match on the same usb class.
> 
> If you agree that 2. is probably best then I can do an addon patch adding 
> support
> for a NO_UAS quirk which will cause the uas-detect code to bail with an error 
> if
> present.

How about:

3) Create an unusual_uas.h file containing entries to be shared between 
usb-storage and uas.  Put the NO_UAS quirk entries there.

This way uas will know not to bind to the device (and usb-storage will
know to bind), and you won't have to make uas depend on usb-storage.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to