Message ID | 20230807122025.2818062-1-piyush.mehta@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | uas: Add US_FL_NO_ATA_1X for linux tcm_usb_gadget | expand |
On Mon, Aug 07, 2023 at 05:50:25PM +0530, Piyush Mehta wrote: > The linux kernel's tcm_usb_gadget requires the US_FL_NO_ATA_1X quirk. > It does not respond to the ATA_12 family of commands and hangs. The host Are you certain of that? Doesn't this depend on the underlying device that the gadget is attached to? > prevents the issuing of ATA_12 commands to the TCM module, by introducing > this quirk, the host is permitted to proceed with other operations. Rather than changing just one host (the Linux one) while leaving all other hosts to malfunction, why not fix the gadget instead? Change it so that it _doesn't_ hang when it gets an ATA_12 command but returns an appropriate error status. That way the gadget will work with all hosts. Alan Stern
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h index 1f8c9b16a0fb..2fc0220c72ee 100644 --- a/drivers/usb/storage/unusual_uas.h +++ b/drivers/usb/storage/unusual_uas.h @@ -177,6 +177,13 @@ UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999, USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NO_REPORT_OPCODES), +/* Reported-by: Piyush Mehta <piyush.mehta@amd.com> */ +UNUSUAL_DEV(0x0525, 0xa4a5, 0x0000, 0x9999, + "NetChip", + "Target Product", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_ATA_1X), + /* "G-DRIVE" external HDD hangs on write without these. * Patch submitted by Alexander Kappner <agk@godking.net> */
The linux kernel's tcm_usb_gadget requires the US_FL_NO_ATA_1X quirk. It does not respond to the ATA_12 family of commands and hangs. The host prevents the issuing of ATA_12 commands to the TCM module, by introducing this quirk, the host is permitted to proceed with other operations. Signed-off-by: Piyush Mehta <piyush.mehta@amd.com> --- drivers/usb/storage/unusual_uas.h | 7 +++++++ 1 file changed, 7 insertions(+)