diff options
Diffstat (limited to 'drivers/usb/host/xhci-mem.c')
-rw-r--r-- | drivers/usb/host/xhci-mem.c | 17 |
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. */ |