We are developing a product based on the TI AM5728 EVM.  The product utilizes a 
TUSB7340 PCIe USB host for additional ports.  The TUSB7340 is detected and 
setup properly and works OK with low data rate devices.  However, hot plugging 
a Realtek USB network adapter and doing Ethernet transfer bandwidth testing 
using iperf3 causes the TUSB7340 host to be  locked out.  The TUSB7340 host 
appears to no longer communicate and the logging indicates xhci_hcd 
0000:01:00.0: HC died; cleaning up.  Same issue occurs with another USB 
Ethernet adapter I tried (Asus).

We looked at using another host and found a mini PCIe card that utilizes the 
µPD720201 and can be directly installed on the TI AM5728 EVM.  The card is 
detected properly and we reran the transfer test.  The uPD720201 gets locks out 
with the same problem.

The AM5728 testing was performed using the TI SD card stock 
am57xx-evm-linux-04.00.00.04.img, kernel am57xx-evm 4.9.28-geed43d1050, and it 
reports that it is using the TI AM572x EVM Rev A3 device tree.

It shows the following logging when it fails (this is with the TI EVM and 
uPD720201).

[  630.400899] xhci_hcd 0000:01:00.0: xHCI host not responding to stop endpoint 
command.
[  630.408769] xhci_hcd 0000:01:00.0: Assuming host is dying, halting host.
[  630.420849] r8152 2-4:1.0 enp1s0u4: Tx status -108
[  630.425667] r8152 2-4:1.0 enp1s0u4: Tx status -108
[  630.430483] r8152 2-4:1.0 enp1s0u4: Tx status -108
[  630.435297] r8152 2-4:1.0 enp1s0u4: Tx status -108
[  630.440122] xhci_hcd 0000:01:00.0: HC died; cleaning up
[  630.453961] usb 2-4: USB disconnect, device number 2

The problem appears to be a general driver issue given we get the same problem 
with both the  TUSB7340 and the µPD720201.

I've tried the 4.4.49, 4.12.3 and 4.13.1 kernels and they also fail.

I tried the TI E2E support community and they were unable to provide any 
solutions.

Here is a sample session with the TUSB7340:

root@arm:~# !iperf3
iperf3 -c 10.14.21.95 -t 6000
Connecting to host 10.14.21.95, port 5201
[ 4] local 10.14.21.89 port 60978 connected to 10.14.21.95 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 14.2 MBytes 119 Mbits/sec 1 1.41 KBytes
[ 4] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 4] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 4] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 4] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 4] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 4] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
^C[ 4] 7.00-7.48 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-7.48 sec 14.2 MBytes 15.9 Mbits/sec 1 sender
[ 4] 0.00-7.48 sec 0.00 Bytes 0.00 bits/sec receiver
iperf3: interrupt - the client has terminated
root@arm:~# [ 118.187204] xhci_hcd 0001:07:00.0: xHCI host controller not 
responding, assume dead
[ 118.196419] xhci_hcd 0001:07:00.0: HC died; cleaning up

Any suggestions on how we can address this problem?

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to