Re: Control message failures kill entire XHCI stack

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

 





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




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

  Powered by Linux