summaryrefslogtreecommitdiff
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorSrinivasarao P <spathi@codeaurora.org>2018-10-22 13:59:43 +0530
committerSrinivasarao P <spathi@codeaurora.org>2018-10-22 14:00:26 +0530
commit392854fb08079416d260c2c5ba6369391eda11d3 (patch)
tree42285ec908a4198122132b01300a4daf0e4e0dcb /drivers/usb/host
parent02d722f11f25bf90751ea82888850501cc255629 (diff)
parent3eb8e735195577476e7de568bd11c2832b47d1ad (diff)
Merge android-4.4.162 (3eb8e73) into msm-4.4
* refs/heads/tmp-3eb8e73 Linux 4.4.162 HV: properly delay KVP packets when negotiation is in progress Drivers: hv: kvp: fix IP Failover Drivers: hv: util: Pass the channel information during the init call Drivers: hv: utils: Invoke the poll function after handshake usb: gadget: serial: fix oops when data rx'd after close ARC: build: Get rid of toolchain check powerpc/tm: Avoid possible userspace r1 corruption on reclaim powerpc/tm: Fix userspace r13 corruption net/mlx4: Use cpumask_available for eq->affinity_mask Input: atakbd - fix Atari CapsLock behaviour Input: atakbd - fix Atari keymap clocksource/drivers/ti-32k: Add CLOCK_SOURCE_SUSPEND_NONSTOP flag for non-am43 SoCs media: af9035: prevent buffer overflow on write x86/fpu: Finish excising 'eagerfpu' x86/fpu: Remove struct fpu::counter x86/fpu: Remove use_eager_fpu() KVM: x86: remove eager_fpu field of struct kvm_vcpu_arch rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096 net: systemport: Fix wake-up interrupt race during resume net: mvpp2: Extract the correct ethtype from the skb for tx csum offload team: Forbid enslaving team device to itself qlcnic: fix Tx descriptor corruption on 82xx devices net/usb: cancel pending work when unbinding smsc75xx netlabel: check for IPV4MASK in addrinfo_get net/ipv6: Display all addresses in output of /proc/net/if_inet6 net: ipv4: update fnhe_pmtu when first hop's MTU changes ipv4: fix use-after-free in ip_cmsg_recv_dstaddr() ip_tunnel: be careful when accessing the inner header ip6_tunnel: be careful when accessing the inner header bonding: avoid possible dead-lock bnxt_en: Fix TX timeout during netpoll. jffs2: return -ERANGE when xattr buffer is too small xhci: Don't print a warning when setting link state for disabled ports i2c: i2c-scmi: fix for i2c_smbus_write_block_data perf script python: Fix export-to-postgresql.py occasional failure mach64: detect the dot clock divider correctly on sparc mm/vmstat.c: fix outdated vmstat_text ext4: add corruption check in ext4_xattr_set_entry() drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7 ARM: dts: at91: add new compatibility string for macb on sama5d3 net: macb: disable scatter-gather for macb on sama5d3 stmmac: fix valid numbers of unicast filter entries sound: enable interrupt after dma buffer initialization mfd: omap-usb-host: Fix dts probe of children selftests/efivarfs: add required kernel configs ASoC: sigmadsp: safeload should not have lower byte limit ASoC: wm8804: Add ACPI support ANDROID: usb: gadget: f_mtp: Return error if count is negative ANDROID: x86_64_cuttlefish_defconfig: disable CONFIG_MEMORY_STATE_TIME Change-Id: Ie69fd3f90302d1ebe0c1217b46d8033fec4180a5 Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci-hub.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index 250a4449ac51..744157e73acb 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1197,17 +1197,17 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
temp = readl(port_array[wIndex]);
break;
}
-
- /* Software should not attempt to set
- * port link state above '3' (U3) and the port
- * must be enabled.
- */
- if ((temp & PORT_PE) == 0 ||
- (link_state > USB_SS_PORT_LS_U3)) {
- xhci_warn(xhci, "Cannot set link state.\n");
+ /* Port must be enabled */
+ if (!(temp & PORT_PE)) {
+ retval = -ENODEV;
+ break;
+ }
+ /* Can't set port link state above '3' (U3) */
+ if (link_state > USB_SS_PORT_LS_U3) {
+ xhci_warn(xhci, "Cannot set port %d link state %d\n",
+ wIndex, link_state);
goto error;
}
-
if (link_state == USB_SS_PORT_LS_U3) {
slot_id = xhci_find_slot_id_by_port(hcd, xhci,
wIndex + 1);