This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB9261DEMO: Transfers length exceeds max scatter gather list size

Part Number: TUSB9261DEMO
Other Parts Discussed in Thread: TUSB9261

With disk IO activity on a particular model of embedded device I'm experiencing compatibility issues between the device and the TUSB9261, that I do not observe on my desktop on Linux or Windows.

I'm able to successfully mount a partition from this drive in Linux (kernel version 4.4).

When running any file operations the TUSB9261 locks up and requires a reset.

1. Is there a firmware/configuration option available as a work around?

2. Unrelated, is it possible to get the firmware flashing utility for Linux?

Debug UART output:

========================================================
||   TUSB926x Firmware v1.06 [Dec  8 2016 16:53:12]   ||
||                 Device ID: 0x0000                  ||
========================================================

 Reset Flag(s): [Power-Up]

[0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
[0000000001] Supported NCQ Depth: 32
[0000000001] U1/U2 Transistions: OFF
[0000000001] USB PHY Suspend: ON
[0000000001] SATA LPM: OFF
[0000000001] Device is Self-powered.
[0000000001] -> usb_hal_init()
[0000000001] USB Core Ver: 0x120a.
[0000000001] USB SSC is OFF.
[0000000051] -> usb_hal_connect()
[0000000051][0000000051] LTSSM state = (0x5) RX DETECT.
 -> ahci_init()
[0000000051] -> ahci_hba_reset()
[0000000052] USB Reset event occurred.
[0000000052] LTSSM state = (0x7) POLLING.
[0000000056] SATA Gen-2 speed negotiated.
[0000000058]
[0000000058] ================================================
[0000000058]              IDENTIFY DEVICE INFO
[0000000058] ================================================
[0000000058]
[0000000058]   Model:  INTEL SSDSA2CW080G3                     
[0000000058]   FW Rev: 4PC10362
[0000000058]   Serial: CVPR211004LX080BGN  
[0000000058]   TRIM Support: Yes
[0000000058]
[0000000058]   Spec Compliance: ATA-7
[0000000058]   Removable Media: No
[0000000058]   UDMA Modes = 0x407f
[0000000058]   PIO Modes = 0x0003
[0000000058]
[0000000058]   LBA48: Yes
[0000000058]   Max LBA = 0x00000000 0950f8b0
[0000000058]   Write FUA: Yes
[0000000058]   World Wide Name = 0x5001517b b287f75b
[0000000058]
[0000000058]   SATA Speed: Gen2
[0000000058]   NCQ Support: Yes
[0000000058]   Queue Depth = 31
[0000000058]
[0000000058]   Logical Sector Size = 512 bytes
[0000000058]   Physical Sector Size = 512 bytes
[0000000058]   Logical Sector Offset = 0
[0000000058]
[0000000058] ================================================

[0000000061] Connected to 1 AHCI device(s).
[0000000098] Connected at SUPER speed.
[0000000203] USB Reset event occurred.
[0000000203] -> ahci_reset_lun(0)
[0000000203] Connected at SUPER speed.
[0000000316] -> usb_hal_set_address() - addr: 0x1.
[0000000377] -> handle_usb_set_configuration() - val = 1.
[0000001417] -> ums_bot_case_handler() - case 5.
[0000001429] -> ums_bot_case_handler() - case 5.
[0000001440] -> ums_bot_case_handler() - case 5.
[0000001442] -> ums_bot_case_handler() - case 5.
[0000001453] -> ums_bot_case_handler() - case 5.
[0000001455] -> ums_bot_case_handler() - case 5.
[0000001462] -> scsi_build_ata_pass_through_cmd() - cmd = 0xec, byte_cnt = 512, chk_cond = 1.
[0000001463] -> ums_bot_case_handler() - case 5.
[0000001541] -> scsi_build_ata_pass_through_cmd() - cmd = 0xef, byte_cnt = 0, chk_cond = 1.
[0000001542] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000001542] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000001542] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x85.
[0000001542] -> ums_bot_case_handler() - case 5.
[0000001543] -> scsi_build_ata_pass_through_cmd() - cmd = 0xec, byte_cnt = 512, chk_cond = 0.
[0000092254] @Error: Xfer length 0x800000 exceeds max s/g list size!
[0000092273]  AHCI overflow status interrupt.