Commit 8d084b2e authored by Borislav Petkov's avatar Borislav Petkov Committed by Greg Kroah-Hartman
Browse files

usb: typec: tcpm: Fix undefined behavior due to shift overflowing the constant

Fix:

  drivers/usb/typec/tcpm/tcpm.c: In function ‘run_state_machine’:
  drivers/usb/typec/tcpm/tcpm.c:4724:3: error: case label does not reduce to an integer constant
     case BDO_MODE_TESTDATA:
     ^~~~

See https://lore.kernel.org/r/YkwQ6%2BtIH8GQpuct@zn.tnic

 for the gory
details as to why it triggers with older gccs only.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Link: https://lore.kernel.org/r/20220405151517.29753-8-bp@alien8.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9e3d68f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
#define BDO_MODE_CARRIER2	(5 << 28)
#define BDO_MODE_CARRIER3	(6 << 28)
#define BDO_MODE_EYE		(7 << 28)
#define BDO_MODE_TESTDATA	(8 << 28)
#define BDO_MODE_TESTDATA	(8U << 28)

#define BDO_MODE_MASK(mode)	((mode) & 0xf0000000)