This problem is caused by port switching. In last discussion of this bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1210858 there was a patch to fix this issue. In new kernel it looks like this
--- drivers/usb/host/pci-quirks.c 2013-12-29 01:18:08.156795361 +0400 +++ drivers/usb/host/pci-quirks.c 2013-12-30 00:24:45.778376887 +0400 @@ -909,8 +909,8 @@ writel(val, base + ext_cap_offset + XHCI_LEGACY_CONTROL_OFFSET);
hc_init: - if (pdev->vendor == PCI_VENDOR_ID_INTEL) - usb_enable_intel_xhci_ports(pdev); + /*if (pdev->vendor == PCI_VENDOR_ID_INTEL) + usb_enable_intel_xhci_ports(pdev);*/
op_reg_base = base + XHCI_HC_LENGTH(readl(base));
This problem is caused by port switching. In last discussion of this bug https:/ /bugs.launchpad .net/ubuntu/ +source/ linux/+ bug/1210858 there was a patch to fix this issue. In new kernel it looks like this
--- drivers/ usb/host/ pci-quirks. c 2013-12-29 01:18:08.156795361 +0400 usb/host/ pci-quirks. c 2013-12-30 00:24:45.778376887 +0400 CONTROL_ OFFSET) ;
+++ drivers/
@@ -909,8 +909,8 @@
writel(val, base + ext_cap_offset + XHCI_LEGACY_
hc_init: ID_INTEL) intel_xhci_ ports(pdev) ; ID_INTEL) intel_xhci_ ports(pdev) ;*/
- if (pdev->vendor == PCI_VENDOR_
- usb_enable_
+ /*if (pdev->vendor == PCI_VENDOR_
+ usb_enable_
op_reg_base = base + XHCI_HC_ LENGTH( readl(base) );