Re: xHCI driver died after times of attach/detach usb3 hub(with usb3 device) from usb3 root hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 26, 2011 at 05:38:02PM +0800, WANG Chao wrote:
> Hi, guys.

Hi Wang Chao,

Sorry it took so long to reply to your issue!

> Recently, I was testing usb3 staff, and met some problem.
> I got a usb3 disk attaching to a usb3 hub, and that usb3 hub attached to usb3 root hub.
> So the topology is usb3 root hub ->  usb3 hub ->  usb3 storage device.
> # lsusb.py -i
> [snip]
> usb8            1d6b:0002 09  2.00 480MBit/s   0mA 1IFs (xhci_hcd 0000:02:00.0) hub
>  8-2            2109:3431 09  2.00 480MBit/s 100mA 1IFs () hub
> usb9            1d6b:0003 09  3.005000MBit/s   0mA 1IFs (xhci_hcd 0000:02:00.0) hub
>  9-2            2109:0810 09  3.005000MBit/s   2mA 1IFs (VIA Labs, Inc. 4-Port USB 3.0 Hub) hub
>   9-2.2         1058:1123 00  3.005000MBit/s   2mA 1IFs (Western Digital My Book 3.0 574341545230383135353130)
>    9-2.2:1.0    (IF) 08:06:50 2EPs (Mass Storage:SCSI:Bulk (Zip)) usb-storage host11 (sdb)
> And after times of directly plugging in and out the usb3 hub rapidly (with usb3 disk attached), xhci driver died.
> I tried different usb root hub vendors, and different usb3 device, same thing happens.

Which xHCI host controller (roothub) vendors did you try?  (What does
the output from `lspci -vvv` say?)  If the hosts were all the same
chipset internally then they may have the same issue.  I know that one
of the NEC host controllers I have will some times die when a device
behind a VIA hub is plugged/unplugged too fast.

> # dmesg
> [snip]
> *(here we plug out usb3 hub)*
> usb 9-2: USB disconnect, address 2
> usb 9-2.2: USB disconnect, address 5
> xhci_hcd 0000:02:00.0: WARN: transfer error on endpoint
> xhci_hcd 0000:02:00.0: WARN: transfer error on endpoint
> usb 8-2: USB disconnect, address 2
> *(here we plug in usb3 hub)*
> usb 8-2: new high speed USB device using xhci_hcd and address 21
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> usb 8-2: New USB device found, idVendor=2109, idProduct=3431
> usb 8-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
> usb 8-2: Product: USB2.0 Hub
> usb 8-2: configuration #1 chosen from 1 choice
> hub 8-2:1.0: USB hub found
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> hub 8-2:1.0: 4 ports detected
> usb 9-2: new SuperSpeed USB device using xhci_hcd and address 6
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> usb 9-2: New USB device found, idVendor=2109, idProduct=0810
> usb 9-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> usb 9-2: Product: 4-Port USB 3.0 Hub
> usb 9-2: Manufacturer: VIA Labs, Inc.
> usb 9-2: configuration #1 chosen from 1 choice
> hub 9-2:1.0: USB hub found
> hub 9-2:1.0: 4 ports detected
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
> xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
> xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
> xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
> xhci_hcd 0000:02:00.0: Timeout while waiting for a slot
> hub 9-2:1.0: couldn't allocate port 2 usb_device
> xhci_hcd 0000:02:00.0: xHCI host not responding to stop endpoint command.
> xhci_hcd 0000:02:00.0: Assuming host is dying, halting host.
> xhci_hcd 0000:02:00.0: HC died; cleaning up
> usb 8-2: USB disconnect, address 21
> usb 9-1: USB disconnect, address 3
> usb 9-2: USB disconnect, address 6
> 
> but I think this should be a bug.Do you guys meet with this issue?
> Any comments will be appreciate.

As I said, I have seen this issue before.  I don't think it's an xHCI
driver issue.  The command ring (where the stop endpoint command is
queued) seems to be setup correctly, but the host controller just
doesn't respond.  I've wondered if it's a combination of the device
behind the VIA hub not responding to the address device control
transfer, and the xHCI host controller not timing out the Address Device
Command.  I would have to hook up a USB bus analyzer and see if the
device is actually responding to the control transfer.

> ps.I'm not familiar with xhci driver code, but I will try my best to help test it. :)

Thanks for the help!  Do you know if you see this issue with other USB
3.0 hubs?

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux