diff options
| author | Warner Losh <imp@FreeBSD.org> | 2025-05-07 16:07:11 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2025-05-07 21:36:54 +0000 |
| commit | db860eb348ad20e4c4be09c9b65cdf0a3b1b57c2 (patch) | |
| tree | 81b04660974ecde513ef3e49b2d7a836269e479b /sys/dev/usb/storage | |
| parent | 966c6be6c8be74d67303f99b5f2d0329de5b64e7 (diff) | |
Diffstat (limited to 'sys/dev/usb/storage')
| -rw-r--r-- | sys/dev/usb/storage/umass.c | 7 |
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) { |
