On 7/2/19 5:11 PM, Oliver Neukum wrote: > Am Dienstag, den 02.07.2019, 14:56 +0800 schrieb JC Kuo: >> >> Since blacklisting uas kernel module is not a good idea and could break UAS > > Then don't do it. If you don't want a driver loaded for a device > blacklisting the driver must not magically assign another driver. > >> capable storage functionality, do we consider forbidding making uas driver >> as module? That means to make CONFIG_USB_UAS a bool option. > > No. Absolutely not. We cannot force people to build UAS into their > kernel or not use it. Building either driver not at all, modular > or statically are all valid use cases. Just not building UAS must > trigger a fallback. And we must have a flag to override the kernel's > decision > > Making driver assignments depend on module loading order is a very bad > idea. We also have the necessary quirk in one way. I would accept a > patch adding a flag to force usage of UAS, but other than that, the > existing code is as it must be. > > Regards > Oliver > Hi Greg and Oliver, Thank you so much for your time and guidance. I understood that we can make use of usb-storage quirks parameter to blacklist any UAS capable device. I don't see the uas issue myself. I was trying to describe a situation that user having issue with UAS storage and would like to blacklist uas module when the user is not aware of the usb-storage quirks parameter. https://marc.info/?l=linux-usb&m=143385909823645&w=2 UAS capable devices are backward-compatible with legacy Bulk-only protocol. Therefore, IMHO, ideally if system software doesn't have UAS support, system software should enable the UAS device with Bulk-only protocol, unless usb-storage driver is not there as well. Now the only valid way to disable UAS support for all UAS devices is to disable CONFIG_USB_UAS option and rebuild kernel. Blacklisting uas driver is intuitive, however it doesn't really disable UAS support but actually prevents UAS devices to be functional even though usb-storage driver is there and the devices indeed support Bulk-only protocol. Thanks, JC