Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux/TCI6638K2K: Bug in USB XHCI driver in UBoot

$
0
0

Part Number:TCI6638K2K

Tool/software: Linux

Hello TI,

I am writing a file to USB pen drive from UBoot. I see an error randomly during some transfers. The error is as below:

XHCI bulk transfer timed out, aborting...\n in xhci-ring.c

I checked the TRB type read in xhci_wait_for_event in uboot. As expected the value is 32 (TRB_TRANSFER) for some time but afterwards it suddenly changes into 34(TRB_PORT_STATUS) and it hits the bug in thus function:

if (type == TRB_PORT_STATUS)
/* TODO: remove this once enumeration has been reworked */
/*
* Port status change events always have a
* successful completion code
*/
BUG_ON(GET_COMP_CODE(
le32_to_cpu(event->generic.field[2])) !=
COMP_SUCCESS);

If i remove this BUG_ON, the subsequent iterations return event not ready:

if (!event_ready(ctrl))
continue;

This causes timeout and hits the transfer timeout.

Please let me know what could be the cause of this behaviour. I am using Tanscend flash drive 2.0 and it is always connected to  the board during the transfer so TRB_PORT_STATUS is not supposed to happen. Please advice. 

NB: In case of small file transfers of ~2-3MB this error is never hit. Only in case the file size is large >32MB this error is hit.

Regards, Yunas


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>