From 9264f0876e7b085597c2da9fa850c8e6be1823f8 Mon Sep 17 00:00:00 2001 From: Justin Chadwell Date: Wed, 3 Jul 2019 14:14:46 +0100 Subject: [PATCH] Update synopsys drivers to not rely on undefined overflow behaviour This consists of ensuring that the left operand of each shift is unsigned when the operation might overflow into the sign bit. Change-Id: I54560fe290e7dc52d364d0fe1c81a16f4c8d9a7b Signed-off-by: Justin Chadwell --- drivers/synopsys/emmc/dw_mmc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/synopsys/emmc/dw_mmc.c b/drivers/synopsys/emmc/dw_mmc.c index b0dcaa739..a063ad05a 100644 --- a/drivers/synopsys/emmc/dw_mmc.c +++ b/drivers/synopsys/emmc/dw_mmc.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #define DWMMC_CTRL (0x00) @@ -55,7 +56,7 @@ #define DWMMC_CMDARG (0x28) #define DWMMC_CMD (0x2c) -#define CMD_START (1 << 31) +#define CMD_START (U(1) << 31) #define CMD_USE_HOLD_REG (1 << 29) /* 0 if SDR50/100 */ #define CMD_UPDATE_CLK_ONLY (1 << 21) #define CMD_SEND_INIT (1 << 15) @@ -100,7 +101,7 @@ #define IDMAC_DES0_CH (1 << 4) #define IDMAC_DES0_ER (1 << 5) #define IDMAC_DES0_CES (1 << 30) -#define IDMAC_DES0_OWN (1 << 31) +#define IDMAC_DES0_OWN (U(1) << 31) #define IDMAC_DES1_BS1(x) ((x) & 0x1fff) #define IDMAC_DES2_BS2(x) (((x) & 0x1fff) << 13)