Skip to content
  • Arnd Bergmann's avatar
    usb: gadget: dummy: fix nonsensical comparisons · 43daa3c4
    Arnd Bergmann authored
    commit 7661ca09 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: 1cd8fd28
    
     ("usb: gadget: dummy_hcd: add SuperSpeed support")
    Cc: Tatyana Brokhman <tlinder@codeaurora.org>
    Cc: Felipe Balbi <balbi@kernel.org>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    43daa3c4