[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180227110245.6d78ff23@xhacker.debian>
Date: Tue, 27 Feb 2018 11:02:45 +0800
From: Jisheng Zhang <Jisheng.Zhang@...aptics.com>
To: Evgeniy Didin <Evgeniy.Didin@...opsys.com>
Cc: <linux-mmc@...r.kernel.org>,
Alexey Brodkin <Alexey.Brodkin@...opsys.com>,
Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>,
Douglas Anderson <dianders@...omium.org>,
"Ulf Hansson" <ulf.hansson@...aro.org>,
<linux-kernel@...r.kernel.org>,
<linux-snps-arc@...ts.infradead.org>, <stable@...r.kernel.org>,
Vineet Gupta <Vineet.Gupta1@...opsys.com>
Subject: Re: [PATCH 0/2 v3] mmc: dw_mmc: Fix DTO/STO timeout overflow
calculation
On Mon, 26 Feb 2018 17:34:11 +0300 Evgeniy Didin wrote:
> For some 32-bit architectures calculation of DTO and STO timeout can be incorrect
> due to multiply overflow. Lets prevent this by casting multiply and result to u64.
>
> Suggested by Jisheng Zhang.
> Switch DIV_ROUND_UP macro to DIV_ROUND_UP_ULL is not reasonable
> because overflow happens on multiply and DIV_ROUND_UP_ULL helps
> with sum overflow.
hmmm, I mean something as below:
-cto_ms = DIV_ROUND_UP(MSEC_PER_SEC * cto_clks * cto_div, host->bus_hz);
+cto_ms = DIV_ROUND_UP_ULL((u64)MSEC_PER_SEC * cto_clks * cto_div, host->bus_hz);
This could avoid build error in arm case.
>
> ---
> Changes since v2:
> -add fix for cto_ms
>
> Evgeniy Didin (2):
> mmc: dw_mmc: Fix the DTO timeout overflow calculation for 32-bit
> systems
> mmc: dw_mmc: Fix the CTO overflow calculation for 32-bit systems
These two patches could be folded into one patch?
Thanks
Powered by blists - more mailing lists