There is a bug for the SDK for host controller ISO IN transfer. The USB stack invokes the transfer callback with parameter “transferSofar” equals to 0 for payload length > 0 at transport. So there is no way from the cbf's perspective to determine how many bytes the device actually sent.
Please see attached device enumeration. I hooked up KEIL debugger to inspect the transfer parameter upon call back. I armed an ISO in transfer for 96 bytes. Upon call back, the buffer the transfer points to (transfer->transferBuffer = 0x2000321B) actually contains the data the device sent (please compare to USB analyzer actual data) but transfer->transferSoFar is 0. It should be 88 instead.
Please note that this issue does not occur with Interrupt-IN transfer.
attached USB trace : AcquisitionFile0000.ufo. (please use Ellysis free viewer to inspect the trace)
1)ISO in at transport (snapshot from USB trace)
2)transfer cbf inspection
2.a) transfer structure
2.b) transfer buffer
-> The USB stack actually received the data from the device but "TransferSoFar" is 0 instead of 88 so the cbf can not determine how many bytes were actually received.