i2c: ismt: Fix undefined behavior due to shift overflowing the constant
authorBorislav Petkov <bp@suse.de>
Tue, 5 Apr 2022 15:15:11 +0000 (17:15 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 15 Apr 2022 21:49:02 +0000 (23:49 +0200)
commite35c93695c742b88f5fe32063674551440c63d08
treebc8c5ca03c8f409e7830ca0029668bb8eadb7954
parentaef80e2fbe3ec6264e935cebfb8fa3367cb1e7b0
i2c: ismt: Fix undefined behavior due to shift overflowing the constant

Fix:

  drivers/i2c/busses/i2c-ismt.c: In function ‘ismt_hw_init’:
  drivers/i2c/busses/i2c-ismt.c:770:2: error: case label does not reduce to an integer constant
    case ISMT_SPGT_SPD_400K:
    ^~~~
  drivers/i2c/busses/i2c-ismt.c:773:2: error: case label does not reduce to an integer constant
    case ISMT_SPGT_SPD_1M:
    ^~~~

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: Borislav Petkov <bp@suse.de>
Reviewed-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-ismt.c