diff options
author | Hans de Goede <hdegoede@redhat.com> | 2013-11-16 12:19:36 +0100 |
---|---|---|
committer | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2014-03-05 00:38:17 +0100 |
commit | 97172a660cfc744996112eb625a77282a4b627b7 (patch) | |
tree | 30b6c58fc9ff51d15829680fb335c72ab66cf521 /drivers | |
parent | usb-storage: Modify and export adjust_quirks so that it can be used by uas (diff) | |
download | linux-97172a660cfc744996112eb625a77282a4b627b7.tar.xz linux-97172a660cfc744996112eb625a77282a4b627b7.zip |
uas: Honor no-uas quirk set in usb-storage's quirks module parameter
Falling back from uas to usb-storage requires coordination between uas and
usb-storage, so use usb-storage's quirks module parameter, rather then
requiring the user to pass a param to 2 different modules.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/storage/Kconfig | 2 | ||||
-rw-r--r-- | drivers/usb/storage/uas-detect.h | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig index 1dd0604d1911..666dcb692e12 100644 --- a/drivers/usb/storage/Kconfig +++ b/drivers/usb/storage/Kconfig @@ -204,7 +204,7 @@ config USB_STORAGE_ENE_UB6250 config USB_UAS tristate "USB Attached SCSI" - depends on SCSI && BROKEN + depends on SCSI && USB_STORAGE && BROKEN help The USB Attached SCSI protocol is supported by some USB storage devices. It permits higher performance by supporting diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h index 02bf5ec957f5..082bde1fa74d 100644 --- a/drivers/usb/storage/uas-detect.h +++ b/drivers/usb/storage/uas-detect.h @@ -1,5 +1,6 @@ #include <linux/usb.h> #include <linux/usb/hcd.h> +#include "usb.h" static int uas_is_interface(struct usb_host_interface *intf) { @@ -42,8 +43,11 @@ static int uas_find_uas_alt_setting(struct usb_interface *intf) static int uas_use_uas_driver(struct usb_interface *intf, const struct usb_device_id *id) { + struct usb_device *udev = interface_to_usbdev(intf); unsigned long flags = id->driver_info; + usb_stor_adjust_quirks(udev, &flags); + if (flags & US_FL_IGNORE_UAS) return 0; |