工具/软件:Linux
您好、TI、
我正在从 uBoot 向 USB 笔驱动器写入文件。 我在某些传输过程中随机看到一个错误。 错误如下所示:
XHCI 批量传输超时、正在 xhci-ring .c 中中止...。\n
我在 uboot 的 xhci_wait_for_event 中检查了 TRB 类型 read。 正如预期的那样、值在一段时间内为32 (TRB_TRANSFIT)、但随后它突然变为34 (TRB_PORT_STATUS)、并且它命中了因此函数中的错误:
如果(type = TRB_PORT_STATUS)
/* TODO:重新处理枚举后删除此项*/
/*
*端口状态更改事件始终具有
*成功完成代码
*
BUCK_ON (GET_COMP_CODE (
le32_TO_CPU (event->generic.field[2])!=
COMP_SUCCESS);
如果我删除此 bug_on、则后续迭代返回事件未准备就绪:
如果(!event_ready (ctrl))
继续;
这会导致超时并达到传输超时。
请告诉我这种行为的原因是什么。 我正在使用 Tanscend 闪存驱动器2.0、 它在传输期间始终连接到电路板、因此 不应发生 TRB_PORT_STATUS。 请提供建议。
注意:如果传输的小文件为~2-3MB、则永远不会出现此错误。 只有在文件大小大于32MB 的情况下,才会出现此错误。
此致、Yunas