On 3/1/23 06:18, Marek Vasut wrote: > 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 <marek.vasut+rene...@mailbox.org>
Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com> Best Regards, Jaehoon Chung > --- > Cc: Jaehoon Chung <jh80.ch...@samsung.com> > Cc: Peng Fan <peng....@nxp.com> > --- > V2: New patch > --- > 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 e9c7d3a2e00..0b24a5a7bdb 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 >