aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/storage
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2025-05-07 16:07:11 +0000
committerWarner Losh <imp@FreeBSD.org>2025-05-07 21:36:54 +0000
commitdb860eb348ad20e4c4be09c9b65cdf0a3b1b57c2 (patch)
tree81b04660974ecde513ef3e49b2d7a836269e479b /sys/dev/usb/storage
parent966c6be6c8be74d67303f99b5f2d0329de5b64e7 (diff)
Diffstat (limited to 'sys/dev/usb/storage')
-rw-r--r--sys/dev/usb/storage/umass.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c
index 0a62e97a07fe..8922b3770e6a 100644
--- a/sys/dev/usb/storage/umass.c
+++ b/sys/dev/usb/storage/umass.c
@@ -2230,6 +2230,13 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb)
* command format needed by the specific command set
* and return the converted command in
* "sc->sc_transfer.cmd_data"
+ *
+ * For commands we know the device doesn't support, we
+ * either complete them with an illegal request, or fake
+ * the completion, based on what upper layers tolerate.
+ * Ideally, we'd let the periph drivers know and not
+ * fake things up, but some periphs fall short of the
+ * ideal.
*/
if (umass_std_transform(sc, ccb, cmd, ccb->csio.cdb_len)) {
if (sc->sc_transfer.cmd_data[0] == INQUIRY) {