--- /dev/null
+From 7661ca09b2ff98f48693f431bb01fed62830e433 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Thu, 7 Sep 2017 16:14:31 +0200
+Subject: usb: gadget: dummy: fix nonsensical comparisons
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 7661ca09b2ff98f48693f431bb01fed62830e433 upstream.
+
+gcc-8 points out two comparisons that are clearly bogus
+and almost certainly not what the author intended to write:
+
+drivers/usb/gadget/udc/dummy_hcd.c: In function 'set_link_state_by_speed':
+drivers/usb/gadget/udc/dummy_hcd.c:379:31: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
+ USB_PORT_STAT_ENABLE) == 1 &&
+ ^~
+drivers/usb/gadget/udc/dummy_hcd.c:381:25: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
+ USB_SS_PORT_LS_U0) == 1 &&
+ ^~
+
+I looked at the code for a bit and came up with a change that makes
+it look like what the author probably meant here. This makes it
+look reasonable to me and to gcc, shutting up the warning.
+
+It does of course change behavior as the two conditions are actually
+evaluated rather than being hardcoded to false, and I have made no
+attempt at verifying that the changed logic makes sense in the context
+of a USB HCD, so that part needs to be reviewed carefully.
+
+Fixes: 1cd8fd2887e1 ("usb: gadget: dummy_hcd: add SuperSpeed support")
+Cc: Tatyana Brokhman <tlinder@codeaurora.org>
+Cc: Felipe Balbi <balbi@kernel.org>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/gadget/udc/dummy_hcd.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/drivers/usb/gadget/udc/dummy_hcd.c
++++ b/drivers/usb/gadget/udc/dummy_hcd.c
+@@ -313,11 +313,10 @@ static void set_link_state_by_speed(stru
+ USB_PORT_STAT_CONNECTION) == 0)
+ dum_hcd->port_status |=
+ (USB_PORT_STAT_C_CONNECTION << 16);
+- if ((dum_hcd->port_status &
+- USB_PORT_STAT_ENABLE) == 1 &&
+- (dum_hcd->port_status &
+- USB_SS_PORT_LS_U0) == 1 &&
+- dum_hcd->rh_state != DUMMY_RH_SUSPENDED)
++ if ((dum_hcd->port_status & USB_PORT_STAT_ENABLE) &&
++ (dum_hcd->port_status &
++ USB_PORT_STAT_LINK_STATE) == USB_SS_PORT_LS_U0 &&
++ dum_hcd->rh_state != DUMMY_RH_SUSPENDED)
+ dum_hcd->active = 1;
+ }
+ } else {