drivers/usb/storage/unusual_uas.h | 7 +++++++ 1 file changed, 7 insertions(+)
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(+)
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>
*/
--
2.25.1
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
© 2016 - 2025 Red Hat, Inc.