aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-11-16 06:19:36 -0500
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2014-03-04 18:38:17 -0500
commit97172a660cfc744996112eb625a77282a4b627b7 (patch)
tree30b6c58fc9ff51d15829680fb335c72ab66cf521 /drivers/usb/storage
parentd24d481b7d369b08cce734bf80be374eed5a6e58 (diff)
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/usb/storage')
-rw-r--r--drivers/usb/storage/Kconfig2
-rw-r--r--drivers/usb/storage/uas-detect.h4
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
204 204
205config USB_UAS 205config USB_UAS
206 tristate "USB Attached SCSI" 206 tristate "USB Attached SCSI"
207 depends on SCSI && BROKEN 207 depends on SCSI && USB_STORAGE && BROKEN
208 help 208 help
209 The USB Attached SCSI protocol is supported by some USB 209 The USB Attached SCSI protocol is supported by some USB
210 storage devices. It permits higher performance by supporting 210 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 @@
1#include <linux/usb.h> 1#include <linux/usb.h>
2#include <linux/usb/hcd.h> 2#include <linux/usb/hcd.h>
3#include "usb.h"
3 4
4static int uas_is_interface(struct usb_host_interface *intf) 5static int uas_is_interface(struct usb_host_interface *intf)
5{ 6{
@@ -42,8 +43,11 @@ static int uas_find_uas_alt_setting(struct usb_interface *intf)
42static int uas_use_uas_driver(struct usb_interface *intf, 43static int uas_use_uas_driver(struct usb_interface *intf,
43 const struct usb_device_id *id) 44 const struct usb_device_id *id)
44{ 45{
46 struct usb_device *udev = interface_to_usbdev(intf);
45 unsigned long flags = id->driver_info; 47 unsigned long flags = id->driver_info;
46 48
49 usb_stor_adjust_quirks(udev, &flags);
50
47 if (flags & US_FL_IGNORE_UAS) 51 if (flags & US_FL_IGNORE_UAS)
48 return 0; 52 return 0;
49 53