Yes, this fixed the problem. Thanks for your help.
Here is the kernel version that I compiled:
Linux 4.1.0-rc2+ #2 SMP Mon May 25 10:58:36 CDT 2015 x86_64 x86_64
x86_64 GNU/Linux
On the non-working generic ubuntu kernel,the USB 3.0 ports that time out
became non-working. I could plug my other working USB 3.0 devices into
that port, and they would not come up. So maybe if there is a timeout,
you should consider resetting such a port on the chip. For a while I
thought that some of my usb 3.0 ports were bad.
May 25 13:38:50 (none) mtp-probe: checking bus 2, device 7:
"/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4"
May 25 13:38:50 (none) mtp-probe: bus: 2, device: 7 was not an MTP device
May 25 13:38:51 (none) kernel: [ 222.919894] scsi 9:0:0:0:
Direct-Access Seagate Expansion Desk 0739 PQ: 0 ANSI: 6
May 25 13:38:51 (none) kernel: [ 222.920119] sd 9:0:0:0: Attached scsi
generic sg6 type 0
May 25 13:38:51 (none) kernel: [ 222.921015] sd 9:0:0:0: [sdf] Spinning
up disk...
May 25 13:39:01 (none) kernel: [ 228.375368] ......ready
May 25 13:39:01 (none) kernel: [ 233.395760] sd 9:0:0:0: [sdf]
976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB)
May 25 13:39:01 (none) kernel: [ 233.396383] sd 9:0:0:0: [sdf] Write
Protect is off
May 25 13:39:01 (none) kernel: [ 233.396390] sd 9:0:0:0: [sdf] Mode
Sense: 2b 00 10 08
May 25 13:39:01 (none) kernel: [ 233.396945] sd 9:0:0:0: [sdf] Write
cache: enabled, read cache: enabled, supports DPO and FUA
May 25 13:39:01 (none) kernel: [ 233.397602] sd 9:0:0:0: [sdf]
976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB)
May 25 13:39:01 (none) kernel: [ 233.435743] sdf: sdf1
May 25 13:39:01 (none) kernel: [ 233.436474] sd 9:0:0:0: [sdf]
976754645 4096-byte logical blocks: (3.90 TB/3.63 TiB)
May 25 13:39:01 (none) kernel: [ 233.437674] sd 9:0:0:0: [sdf] Attached
SCSI disk
Bus 002 Device 007: ID 0bc2:3312 Seagate RSS LLC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x0bc2 Seagate RSS LLC
idProduct 0x3312
bcdDevice 7.39
iManufacturer 1 Seagate
iProduct 2 Expansion Desk
iSerial 3 NA4MZS4N
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 121
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
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 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 7
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0a EP 10 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 7
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 4
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 98
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
: bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Command pipe (0x01)
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 0
MaxStreams 32
Status pipe (0x02)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0a EP 10 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 7
MaxStreams 32
Data-out pipe (0x04)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
: bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 7
MaxStreams 32
Data-in pipe (0x03)
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 0x00
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 512 micro seconds
Device Status: 0x0001
Self Powered
On 05/25/2015 05:34 AM, Lu, Baolu wrote:
On 05/23/2015 10:00 PM, Donald Harter wrote:
May 23 08:52:05 pc_u kernel: [53875.075976] xhci_hcd 0000:00:14.0:
Port Status Change Event for port 3
May 23 08:52:05 pc_u kernel: [53875.075979] xhci_hcd 0000:00:14.0:
port resume event for port 3
May 23 08:52:05 pc_u kernel: [53875.075981] xhci_hcd 0000:00:14.0:
resume HS port 3
May 23 08:52:05 pc_u kernel: [53875.075983] xhci_hcd 0000:00:14.0:
handle_port_status: starting port polling.
May 23 08:52:05 pc_u kernel: [53875.135221] xhci_hcd 0000:00:14.0:
Resume USB2 port 3
May 23 08:52:05 pc_u kernel: [53875.135230] xhci_hcd 0000:00:14.0:
Port Status Change Event for port 3
May 23 08:52:05 pc_u kernel: [53875.135240] xhci_hcd 0000:00:14.0: get
port status, actual port 2 status = 0xfe3
May 23 08:52:05 pc_u kernel: [53875.135241] xhci_hcd 0000:00:14.0: Get
port status returned 0x40503
May 23 08:52:05 pc_u kernel: [53875.135262] xhci_hcd 0000:00:14.0:
clear port suspend/resume change, actual port 2 status = 0xe03
May 23 08:52:05 pc_u kernel: [53875.151222] xhci_hcd 0000:00:14.0: get
port status, actual port 2 status = 0xe03
May 23 08:52:05 pc_u kernel: [53875.151224] xhci_hcd 0000:00:14.0: Get
port status returned 0x503
May 23 08:52:05 pc_u kernel: [53875.255453] xhci_hcd 0000:00:14.0: //
Ding dong!
May 23 08:52:05 pc_u kernel: [53875.255496] xhci_hcd 0000:00:14.0:
Slot 15 output ctx = 0x4018f1000 (dma)
May 23 08:52:05 pc_u kernel: [53875.255498] xhci_hcd 0000:00:14.0:
Slot 15 input ctx = 0x401e2a000 (dma)
May 23 08:52:05 pc_u kernel: [53875.255499] xhci_hcd 0000:00:14.0: Set
slot id 15 dcbaa entry ffff8804028f2078 to 0x4018f1000
May 23 08:52:06 pc_u kernel: [53875.343311] usb 3-3.4: new high-speed
USB device number 14 using xhci_hcd
May 23 08:52:06 pc_u kernel: [53875.343314] xhci_hcd 0000:00:14.0: Set
root hub portnum to 3
May 23 08:52:06 pc_u kernel: [53875.343315] xhci_hcd 0000:00:14.0: Set
fake root hub portnum to 3
May 23 08:52:06 pc_u kernel: [53875.343315] xhci_hcd 0000:00:14.0:
udev->tt = (null)
May 23 08:52:06 pc_u kernel: [53875.343316] xhci_hcd 0000:00:14.0:
udev->ttport = 0x0
May 23 08:52:06 pc_u kernel: [53875.343317] xhci_hcd 0000:00:14.0:
Slot ID 15 Input Context:
It looks like USB device doesn't complete resuming while host controller
tries
to assign USB address to it.
Do you mind trying below change?
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 447fe29..660e2d7 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -229,7 +229,7 @@ void usb_put_intf(struct usb_interface *intf);
* should cope with both LPJ calibration errors and devices not
following every
* detail of the USB Specification.
*/
-#define USB_RESUME_TIMEOUT 40 /* ms */
+#define USB_RESUME_TIMEOUT 100 /* ms */
/**
* struct usb_interface_cache - long-term representation of a device
interface
Thanks,
-Baolu
--
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