From dd073c03933603907ad45428c227754d694168cf Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Tue, 28 Feb 2023 22:18:12 +0100 Subject: [PATCH] mmc: tmio: Check 'addr' width before checking for 64bit limitation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The 64bit limitation check is compiled and optimized out on 32bit platforms, but generates a type width warning: drivers/mmc/tmio-common.c: In function ‘tmio_sd_addr_is_dmaable’: drivers/mmc/tmio-common.c:376:26: warning: right shift count >= width of type [-Wshift-count-overflow] 376 | if (addr >> 32) | ^~ Fix the warning by checking the addr type width to see whether the shift even makes sense in the first place. The width check is also optimized out at compile time. Signed-off-by: Marek Vasut Reviewed-by: Jaehoon Chung --- drivers/mmc/tmio-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/tmio-common.c b/drivers/mmc/tmio-common.c index e9c7d3a2e0..0b24a5a7bd 100644 --- a/drivers/mmc/tmio-common.c +++ b/drivers/mmc/tmio-common.c @@ -373,7 +373,7 @@ static bool tmio_sd_addr_is_dmaable(struct mmc_data *data) if (!(data->flags & MMC_DATA_READ) && !IS_ALIGNED(addr, 128)) return false; /* Gen3 DMA has 32bit limit */ - if (addr >> 32) + if (sizeof(addr) > 4 && addr >> 32) return false; #endif -- 2.39.5