usb-storage: Correct adjust_quirks to include latest flags
authorKarl Relton <karllinuxtest.relton@ntlworld.com>
Wed, 18 May 2011 20:42:34 +0000 (21:42 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 19 May 2011 23:34:05 +0000 (16:34 -0700)
Commits ae38c78a03e1b77ad45248fcf097e4568e740209
and 00914025cc4e783d4703b4db1d47b41f389e50c8 added quirk flags
US_FL_NO_READ_DISC_INFO and US_FL_NO_READ_CAPACITY_16 to
the usb-storage driver. However they did not add the corresponding flags
to adjust_quirks() in usb.c, so there was no facility for a user
to over-ride/add them via the quirks module parameter.

Signed-off-by: Karl Relton <karllinuxtest.relton@ntlworld.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/kernel-parameters.txt
drivers/usb/storage/usb.c

index cc85a92..0e545e0 100644 (file)
@@ -2581,6 +2581,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                                        bytes of sense data);
                                c = FIX_CAPACITY (decrease the reported
                                        device capacity by one sector);
+                               d = NO_READ_DISC_INFO (don't use
+                                       READ_DISC_INFO command);
+                               e = NO_READ_CAPACITY_16 (don't use
+                                       READ_CAPACITY_16 command);
                                h = CAPACITY_HEURISTICS (decrease the
                                        reported device capacity by one
                                        sector if the number is odd);
index 4219c19..5ee7ac4 100644 (file)
@@ -439,7 +439,8 @@ static void adjust_quirks(struct us_data *us)
                        US_FL_CAPACITY_HEURISTICS | US_FL_IGNORE_DEVICE |
                        US_FL_NOT_LOCKABLE | US_FL_MAX_SECTORS_64 |
                        US_FL_CAPACITY_OK | US_FL_IGNORE_RESIDUE |
-                       US_FL_SINGLE_LUN | US_FL_NO_WP_DETECT);
+                       US_FL_SINGLE_LUN | US_FL_NO_WP_DETECT |
+                       US_FL_NO_READ_DISC_INFO | US_FL_NO_READ_CAPACITY_16);
 
        p = quirks;
        while (*p) {
@@ -471,6 +472,12 @@ static void adjust_quirks(struct us_data *us)
                case 'c':
                        f |= US_FL_FIX_CAPACITY;
                        break;
+               case 'd':
+                       f |= US_FL_NO_READ_DISC_INFO;
+                       break;
+               case 'e':
+                       f |= US_FL_NO_READ_CAPACITY_16;
+                       break;
                case 'h':
                        f |= US_FL_CAPACITY_HEURISTICS;
                        break;