UPSTREAM: drivers: xhci: fix incorrect bit test
authorNickolai Zeldovich <nickolai@csail.mit.edu>
Tue, 8 Jan 2013 03:39:31 +0000 (22:39 -0500)
committerChromeBot <chrome-bot@google.com>
Fri, 22 Mar 2013 01:02:55 +0000 (18:02 -0700)
commit ba7b5c22d33136a5612ca5ef8d31564dcc501126 upstream.

Fix incorrect bit test that originally showed up in
4ee823b83bc9851743fab756c76b27d6a1e2472b "USB/xHCI: Support
device-initiated USB 3.0 resume."

Use '&' instead of '&&'.

This should be backported to kernels as old as 3.4.

Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5c59de0a37d7721221550c2be2b07ea41966bf40)

BUG=None
TEST=Together with other cherry-picks: run BVT trybots on all platforms,
manually confirm that USB network/storage/input devices still work
(including across suspend/resume)

Change-Id: I09d3572b30dbf8922a8894bc0dcddc71e6c64833
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/46077
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
drivers/usb/host/xhci-ring.c

index 331220b..71c2eca 100644 (file)
@@ -1697,7 +1697,7 @@ static void handle_port_status(struct xhci_hcd *xhci,
                                faked_port_index + 1);
                if (slot_id && xhci->devs[slot_id])
                        xhci_ring_device(xhci, slot_id);
-               if (bus_state->port_remote_wakeup && (1 << faked_port_index)) {
+               if (bus_state->port_remote_wakeup & (1 << faked_port_index)) {
                        bus_state->port_remote_wakeup &=
                                ~(1 << faked_port_index);
                        xhci_test_and_clear_bit(xhci, port_array,