--- linux/drivers/usb/host/pci-quirks.c.orig 2015-04-06 18:39:45.000000000 -0400 +++ linux/drivers/usb/host/pci-quirks.c 2015-04-12 15:38:52.764807435 -0400 @@ -902,6 +902,20 @@ return; } + /* The Dell XPS 13 BIOS configures xHCI for us, so leave it alone here. + * In particular, the left-side USB3 port cannot operate reliably at + * SuperSpeed (bad design of an internal ribbon cable). There is + * a BIOS setting ("USB debug") which the user can "Enable" to treat + * the port as a USB2 port rather than USB3 (sets USB3_PSSEN=0xd). + * So leave leave the SuperSpeed config as-found here, but still switch + * both ports over to the xHCI controller (more efficient). + */ + if (xhci_pdev->subsystem_vendor == PCI_VENDOR_ID_DELL && + xhci_pdev->subsystem_device == 0x058b) { + pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, 0xf); + return; + } + /* Read USB3PRM, the USB 3.0 Port Routing Mask Register * Indicate the ports that can be changed from OS. */