aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-mem.c')
-rw-r--r--drivers/usb/host/xhci-mem.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index bc6ec0cb3c61..9c7ddf0f3a43 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1959,6 +1959,23 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports,
1959 if (port_offset == 0 || (port_offset + port_count - 1) > num_ports) 1959 if (port_offset == 0 || (port_offset + port_count - 1) > num_ports)
1960 /* WTF? "Valid values are ‘1’ to MaxPorts" */ 1960 /* WTF? "Valid values are ‘1’ to MaxPorts" */
1961 return; 1961 return;
1962
1963 /* Check the host's USB2 LPM capability */
1964 if ((xhci->hci_version == 0x96) && (major_revision != 0x03) &&
1965 (temp & XHCI_L1C)) {
1966 xhci_dbg(xhci, "xHCI 0.96: support USB2 software lpm\n");
1967 xhci->sw_lpm_support = 1;
1968 }
1969
1970 if ((xhci->hci_version >= 0x100) && (major_revision != 0x03)) {
1971 xhci_dbg(xhci, "xHCI 1.0: support USB2 software lpm\n");
1972 xhci->sw_lpm_support = 1;
1973 if (temp & XHCI_HLC) {
1974 xhci_dbg(xhci, "xHCI 1.0: support USB2 hardware lpm\n");
1975 xhci->hw_lpm_support = 1;
1976 }
1977 }
1978
1962 port_offset--; 1979 port_offset--;
1963 for (i = port_offset; i < (port_offset + port_count); i++) { 1980 for (i = port_offset; i < (port_offset + port_count); i++) {
1964 /* Duplicate entry. Ignore the port if the revisions differ. */ 1981 /* Duplicate entry. Ignore the port if the revisions differ. */