On 03/10/2015 11:10 PM, Devin Heitmueller wrote:
Hello Baolu, I'm doing most of my testing on a 2014 Retina Macbook Pro. lsusb output below. I've also seen the issue on an Intel NUC D34010WYKH, which I don't have in front of me or I would provide the lsusb output for that as well.
Devin, I'd like you to provide output of "lspci -xv". I want to know which xHC devices (PCI vendor and device ID) you are working with.
Apologies to Mathias for not getting back to this sooner. I've been buried in another project but plan to get back to it this week. Thanks for investigating this issue. Cheers, Devin Bus 002 Device 002: ID 05ac:8406 Apple, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x05ac Apple, Inc. idProduct 0x8406 bcdDevice 8.20 iManufacturer 3 Apple iProduct 4 Card Reader iSerial 5 000000000820 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 44 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 224mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 4 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 4 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 22 bNumDeviceCaps 2 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000002 Link Power Management (LPM) Supported SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 2047 micro seconds Device Status: 0x0010 (Bus Powered) Latency Tolerance Messaging (LTM) Enabled Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1d6b Linux Foundation idProduct 0x0003 3.0 root hub bcdDevice 3.19 iManufacturer 3 Linux 3.19.0-rc5djh+ xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:14.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 bMaxBurst 0 Hub Descriptor: bLength 12 bDescriptorType 42 nNbrPorts 4 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere bHubDecLat 0.0 micro seconds wHubDelay 0 nano seconds DeviceRemovable 0x00 Hub Port Status: Port 1: 0000.02a0 5Gbps power Rx.Detect Port 2: 0000.02a0 5Gbps power Rx.Detect Port 3: 0000.0203 5Gbps power U0 enable connect Port 4: 0000.02a0 5Gbps power Rx.Detect Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 15 bNumDeviceCaps 1 SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x0008 Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 3 Lowest fully-functional device speed is SuperSpeed (5Gbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 512 micro seconds Device Status: 0x0001 Self Powered Bus 001 Device 004: ID 05ac:0259 Apple, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x05ac Apple, Inc. idProduct 0x0259 bcdDevice 2.24 iManufacturer 1 Apple Inc. iProduct 2 Apple Internal Keyboard / Trackpad iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 40mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 3 Apple Internal Keyboard HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 156 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 4 Touchpad HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 27 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 2 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 4 Touchpad HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 52 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 8 Device Status: 0x0000 (Bus Powered) Bus 001 Device 007: ID 05ac:8289 Apple, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 1 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x05ac Apple, Inc. idProduct 0x8289 bcdDevice 0.99 iManufacturer 1 Apple Inc. iProduct 2 Bluetooth USB Host Controller iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 216 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0011 1x 17 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0011 1x 17 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0019 1x 25 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0019 1x 25 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0021 1x 33 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0021 1x 33 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0031 1x 49 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0031 1x 49 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 1 iInterface 0 Device Firmware Upgrade Interface Descriptor: bLength 7 bDescriptorType 33 bmAttributes 7 Will Not Detach Manifestation Tolerant Upload Supported Download Supported wDetachTimeout 5000 milliseconds wTransferSize 64 bytes Device Status: 0x0001 Self Powered Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 0 Full speed (or root) hub bMaxPacketSize0 8 idVendor 0x0a5c Broadcom Corp. idProduct 0x4500 BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) bcdDevice 1.00 iManufacturer 1 Apple Inc. iProduct 2 BRCM20702 Hub iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 94mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 255 Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 3 wHubCharacteristic 0x0004 Ganged power switching Compound device Ganged overcurrent protection bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 100 milli Ampere DeviceRemovable 0x0e PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0103 power enable connect Device Status: 0x0001 Self Powered Bus 001 Device 002: ID 05ac:1402 Apple, Inc. Ethernet Adapter [A1277] Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05ac Apple, Inc. idProduct 0x1402 Ethernet Adapter [A1277] bcdDevice 0.01 iManufacturer 1 Apple Inc. iProduct 2 Apple USB Ethernet Adapter iSerial 3 18E4ED bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 4 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 250mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 0 iInterface 7 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 11 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 0 bMaxPacketSize0 8 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 1 Single TT bMaxPacketSize0 64 idVendor 0x1d6b Linux Foundation idProduct 0x0002 2.0 root hub bcdDevice 3.19 iManufacturer 3 Linux 3.19.0-rc5djh+ xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:14.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 Hub Descriptor: bLength 11 bDescriptorType 41 nNbrPorts 9 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection TT think time 8 FS bits bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere DeviceRemovable 0x00 0x00 PortPwrCtrlMask 0xff 0xff Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0103 power enable connect Port 4: 0000.0100 power Port 5: 0000.0103 power enable connect Port 6: 0000.0100 power Port 7: 0000.0100 power Port 8: 0000.0100 power Port 9: 0000.0100 power Device Status: 0x0001 Self Powered Devin On Tue, Mar 10, 2015 at 5:55 AM, Lu, Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:Hi Devin, Do you mind to post output of "lspci -xv" on the machine where you saw this problem? We are facing the same problems in other cases. I could provide a patch for it later. Thanks, Baolu On 01/19/2015 04:55 AM, Devin Heitmueller wrote:Hello, I'm debugging some issues on a couple of different USB TV tuners which boil down to the following error: xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command. This is followed by the XHCI driver disconnecting *all* USB devices from the controller. I've done a bit of debugging, and the root of the issue appears to be an intermittent control message timing out, and then the call to usb_kill_urb() that occurs inside of usb_control_msg() when the timeout expires is what causes the disconnect. Specifically, it would appear that xhci_urb_dequeue tries to stop the endpoint using xhci_queue_stop_endpoint(), the command gets queued but the IRQ never fires to perform the TRB_STOP_RING completion code. The function xhci_stop_endpoint_command_watchdog() fires after five seconds, which tears down the entire driver. Below is the dmesg output with the xhci_hcd debugging enabled. The dump_stack() call is something I added (i.e. it's not an OOPS) so I could see which code path was making the usb_kill_urb() call that was failing. Note that the caller is using usb_control_msg() with 1000ms timeout, and we can see from the timestamps that the timer expires which is what causes the call to usb_kill_urb(). I would imagine that explicitly killing URBs is a pretty uncommon task for control endpoint messages (compared to ISOC or BULK endpoints where it's done regularly). Is it possible a exception case has been missed? Independent of the usb_kill_urb() killing the entire stack, I still don't really understand yet why the control message failed in the first place. This is a well-exercised code path in the au0828 driver (related to I2C transfers) and I've never seen this when using the EHCI driver. My assumption is that either the HCD is getting sick which is causing both the control message to fail as well as putting it into an inconsistent state such that we never get the TRB_STOP_RING IRQ, or we've got two separate bugs - the control message failing for some "legitimate" reason (i.e. I screwed something up in my au0828 driver), followed by the usb_kill_urb() error simply not handling killing of URBs on a control endpoint (which causes the entire stack to go down). Thoughts/suggestions/recommendations are welcome. Thanks in advance, Devin Jan 18 14:04:05 devin-MacBookPro kernel: [ 9119.647249] au0828: au0828_writereg(0x0100, 0x00) Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.645091] xhci_hcd 0000:00:14.0: Cancel URB ffff8802543c36c0, dev 1, ep 0x0, starting at offset 0x25c358940 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.645365] djh dequeue pending=0 ep_index=0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.645632] CPU: 1 PID: 2782 Comm: tvtime Tainted: P OE 3.18.0-rc4djh+ #33 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.645921] Hardware name: Apple Inc. MacBookPro11,1/Mac-189A3D4F975D5FFC, BIOS MBP111.88Z.0138.B11.1408291433 08/29/2014 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.646236] ffff88025b9b0000 ffff88023ea2f9d8 ffffffff817445c1 0000000000000000 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.646570] ffff8802543c36c0 ffff88023ea2fa58 ffffffffa0080b2e 000000025c358940 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.646909] ffff88023ea2fa48 000000003ea2fa18 ffff88023e8a22a0 0000000000000000 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.647256] Call Trace: Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.647605] [<ffffffff817445c1>] dump_stack+0x46/0x58 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.647981] [<ffffffffa0080b2e>] xhci_urb_dequeue+0x28e/0x420 [xhci_hcd] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.648357] [<ffffffff8157f1fd>] unlink1+0x2d/0x130 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.648743] [<ffffffff810cbd80>] ? internal_add_timer+0xb0/0xb0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.649133] [<ffffffff814aaa67>] ? get_device+0x17/0x30 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.649526] [<ffffffff8158129d>] usb_hcd_unlink_urb+0x5d/0xf0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.649928] [<ffffffff8158281a>] usb_kill_urb+0x3a/0xa0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.650334] [<ffffffff81093890>] ? wake_up_state+0x20/0x20 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.650746] [<ffffffff81583068>] usb_start_wait_urb+0xc8/0x150 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.651166] [<ffffffff811b4065>] ? __kmalloc+0x55/0x190 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.651586] [<ffffffff815831b5>] usb_control_msg+0xc5/0x110 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.652011] [<ffffffffa05362a9>] au0828_writereg+0x79/0xf0 [au0828] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.652447] [<ffffffff810ccfaf>] ? try_to_del_timer_sync+0x4f/0x70 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.652894] [<ffffffffa053b929>] au0828_analog_stream_disable+0x29/0x50 [au0828] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.653354] [<ffffffffa053ba29>] vidioc_streamoff+0xd9/0x1c0 [au0828] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.653823] [<ffffffffa0b5a98a>] v4l_streamoff+0x1a/0x20 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.654298] [<ffffffffa0b5d484>] __video_do_ioctl+0x274/0x2f0 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.654786] [<ffffffff811c4dcf>] ? commit_charge+0x1f/0x80 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.655278] [<ffffffffa0b5fdbe>] video_usercopy+0x21e/0x580 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.655784] [<ffffffffa0b5d210>] ? v4l_dqevent+0x20/0x20 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.656295] [<ffffffff8105623c>] ? __do_page_fault+0x20c/0x550 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.656815] [<ffffffffa0b60135>] video_ioctl2+0x15/0x20 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.657359] [<ffffffffa0b596bf>] v4l2_ioctl+0x10f/0x150 [videodev] Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.657895] [<ffffffff8111c2dc>] ? acct_account_cputime+0x1c/0x20 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.658440] [<ffffffff811e3040>] do_vfs_ioctl+0x2e0/0x4c0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.658993] [<ffffffff81097374>] ? vtime_account_user+0x54/0x60 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.659551] [<ffffffff81022097>] ? syscall_trace_enter_phase2+0xa7/0x1d0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.660116] [<ffffffff811e32a1>] SyS_ioctl+0x81/0xa0 Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.660690] [<ffffffff8174cc24>] tracesys_phase2+0xd8/0xdd Jan 18 14:04:06 devin-MacBookPro kernel: [ 9120.664207] xhci_hcd 0000:00:14.0: // Ding dong! Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.671045] xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command. Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.671679] xhci_hcd 0000:00:14.0: Assuming host is dying, halting host. Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.672317] xhci_hcd 0000:00:14.0: // Halt the HC Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.672950] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 1, ep index 0 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.673602] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 1, ep index 2 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.674246] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 1, ep index 3 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.674900] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 2, ep index 0 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.676020] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 2, ep index 2 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.677146] xhci_hcd 0000:00:14.0: get port status, actual port 2 status = 0x1203 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.678271] xhci_hcd 0000:00:14.0: Get port status returned 0x203 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.679400] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 3, ep index 0 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.680567] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 3, ep index 2 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.681736] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 3, ep index 6 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.682908] xhci_hcd 0000:00:14.0: set port reset, actual port 2 status = 0x1311 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.684078] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 3, ep index 8 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.684776] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 0 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.685464] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 2 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.686158] Bluetooth: hci0 urb ffff88025b997b40 failed to resubmit (22) Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.686863] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 3 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.687576] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 4 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.688298] Bluetooth: hci0 urb ffff88025b997240 failed to resubmit (22) Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.689024] Bluetooth: hci0 urb ffff88025b9973c0 failed to resubmit (22) Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.689752] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 5 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.690491] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 6 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.691239] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 7 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.691983] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 6, ep index 8 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.692725] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 7, ep index 0 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.693470] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 7, ep index 2 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.694214] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 7, ep index 4 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.694981] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 7, ep index 6 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.695728] xhci_hcd 0000:00:14.0: Killing URBs for slot ID 7, ep index 8 Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.696477] xhci_hcd 0000:00:14.0: Calling usb_hc_died() Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.697229] xhci_hcd 0000:00:14.0: HC died; cleaning up Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.697985] xhci_hcd 0000:00:14.0: xHCI host controller is dead. Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.698750] xhci_hcd 0000:00:14.0: Command timeout on stopped ring Jan 18 14:04:11 devin-MacBookPro kernel: [ 9125.699521] xhci_hcd 0000:00:14.0: Turn aborted command ffff88025c227350 to no-op
-- 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