* cleanup capacity flag handling in UAS
@ 2019-11-14 11:27 Oliver Neukum
2019-11-14 11:27 ` [PATCH 1/3] uas: honor flag to avoid CAPACITY16 Oliver Neukum
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Oliver Neukum @ 2019-11-14 11:27 UTC (permalink / raw)
To: gregKH, linux-usb
This series intends to bring UAS up to storage in terms
of handling flags for capacity quirks as far as that is applicable.
In addition it documents which driver handles which flag.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] uas: honor flag to avoid CAPACITY16
2019-11-14 11:27 cleanup capacity flag handling in UAS Oliver Neukum
@ 2019-11-14 11:27 ` Oliver Neukum
2019-11-14 11:27 ` [PATCH 2/3] UAS: heed CAPACITY_HEURISTICS Oliver Neukum
2019-11-14 11:27 ` [PATCH 3/3] documentation: flags on usb-storage versus UAS Oliver Neukum
2 siblings, 0 replies; 4+ messages in thread
From: Oliver Neukum @ 2019-11-14 11:27 UTC (permalink / raw)
To: gregKH, linux-usb; +Cc: Oliver Neukum
Copy the support over from usb-storage to get feature parity
Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
drivers/usb/storage/uas.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index e78397dca72f..6adc8f9a9ab0 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -834,6 +834,10 @@ static int uas_slave_configure(struct scsi_device *sdev)
sdev->wce_default_on = 1;
}
+ /* Some disks cannot handle READ_CAPACITY_16 */
+ if (devinfo->flags & US_FL_NO_READ_CAPACITY_16)
+ sdev->no_read_capacity_16 = 1;
+
/*
* Some disks return the total number of blocks in response
* to READ CAPACITY rather than the highest block number.
--
2.16.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] UAS: heed CAPACITY_HEURISTICS
2019-11-14 11:27 cleanup capacity flag handling in UAS Oliver Neukum
2019-11-14 11:27 ` [PATCH 1/3] uas: honor flag to avoid CAPACITY16 Oliver Neukum
@ 2019-11-14 11:27 ` Oliver Neukum
2019-11-14 11:27 ` [PATCH 3/3] documentation: flags on usb-storage versus UAS Oliver Neukum
2 siblings, 0 replies; 4+ messages in thread
From: Oliver Neukum @ 2019-11-14 11:27 UTC (permalink / raw)
To: gregKH, linux-usb; +Cc: Oliver Neukum
There is no need to ignore this flag. We should be as close
to storage in that regard as makes sense, so honor flags whose
cost is tiny.
Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
drivers/usb/storage/uas.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 6adc8f9a9ab0..4d4723e15c61 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -846,6 +846,12 @@ static int uas_slave_configure(struct scsi_device *sdev)
if (devinfo->flags & US_FL_FIX_CAPACITY)
sdev->fix_capacity = 1;
+ /*
+ * in some cases we have to guess
+ */
+ if (devinfo->flags & US_FL_CAPACITY_HEURISTICS)
+ sdev->guess_capacity = 1;
+
/*
* Some devices don't like MODE SENSE with page=0x3f,
* which is the command used for checking if a device
--
2.16.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] documentation: flags on usb-storage versus UAS
2019-11-14 11:27 cleanup capacity flag handling in UAS Oliver Neukum
2019-11-14 11:27 ` [PATCH 1/3] uas: honor flag to avoid CAPACITY16 Oliver Neukum
2019-11-14 11:27 ` [PATCH 2/3] UAS: heed CAPACITY_HEURISTICS Oliver Neukum
@ 2019-11-14 11:27 ` Oliver Neukum
2 siblings, 0 replies; 4+ messages in thread
From: Oliver Neukum @ 2019-11-14 11:27 UTC (permalink / raw)
To: gregKH, linux-usb; +Cc: Oliver Neukum
Document which flags work storage, UAS or both
Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
Documentation/admin-guide/kernel-parameters.txt | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index a84a83f8881e..a02b1799a756 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4998,13 +4998,13 @@
Flags is a set of characters, each corresponding
to a common usb-storage quirk flag as follows:
a = SANE_SENSE (collect more than 18 bytes
- of sense data);
+ of sense data, not on uas);
b = BAD_SENSE (don't collect more than 18
- bytes of sense data);
+ bytes of sense data, not on uas);
c = FIX_CAPACITY (decrease the reported
device capacity by one sector);
d = NO_READ_DISC_INFO (don't use
- READ_DISC_INFO command);
+ READ_DISC_INFO command, not on uas);
e = NO_READ_CAPACITY_16 (don't use
READ_CAPACITY_16 command);
f = NO_REPORT_OPCODES (don't use report opcodes
@@ -5019,17 +5019,18 @@
j = NO_REPORT_LUNS (don't use report luns
command, uas only);
l = NOT_LOCKABLE (don't try to lock and
- unlock ejectable media);
+ unlock ejectable media, not on uas);
m = MAX_SECTORS_64 (don't transfer more
- than 64 sectors = 32 KB at a time);
+ than 64 sectors = 32 KB at a time,
+ not on uas);
n = INITIAL_READ10 (force a retry of the
- initial READ(10) command);
+ initial READ(10) command, not on uas);
o = CAPACITY_OK (accept the capacity
- reported by the device);
+ reported by the device, not on uas);
p = WRITE_CACHE (the device cache is ON
- by default);
+ by default, not on uas);
r = IGNORE_RESIDUE (the device reports
- bogus residue values);
+ bogus residue values, not on uas);
s = SINGLE_LUN (the device has only one
Logical Unit);
t = NO_ATA_1X (don't allow ATA(12) and ATA(16)
@@ -5038,7 +5039,8 @@
w = NO_WP_DETECT (don't test whether the
medium is write-protected).
y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE
- even if the device claims no cache)
+ even if the device claims no cache,
+ not on uas)
Example: quirks=0419:aaf5:rl,0421:0433:rc
user_debug= [KNL,ARM]
--
2.16.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-11-14 11:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-14 11:27 cleanup capacity flag handling in UAS Oliver Neukum
2019-11-14 11:27 ` [PATCH 1/3] uas: honor flag to avoid CAPACITY16 Oliver Neukum
2019-11-14 11:27 ` [PATCH 2/3] UAS: heed CAPACITY_HEURISTICS Oliver Neukum
2019-11-14 11:27 ` [PATCH 3/3] documentation: flags on usb-storage versus UAS Oliver Neukum
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.