[PATCHv5 1/3] ARM: Translate delay.S into (mostly) C
Stephen Boyd
sboyd at codeaurora.org
Wed Apr 6 13:34:16 EDT 2011
On 04/06/2011 01:49 AM, Mattias Wallin wrote:
> On 04/06/2011 01:56 AM, Stephen Boyd wrote:
>> +void __udelay(unsigned long usecs)
>> +{
>> + __const_udelay(usecs * ((2199023*HZ)>>11));
>
> This will overflow if HZ=1000.
> If I remember correct I fixed it like this:
> __const_udelay(usecs * ((2199023UL*HZ)>>11));
>
Thanks. I see that my compiler spits out a warning when HZ is 1000.
I'll squash this in before sending to the tracker. Care to send a Tested-by?
----->8-----8<-----
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
index f664002..e7229bf 100644
--- a/arch/arm/lib/delay.c
+++ b/arch/arm/lib/delay.c
@@ -80,6 +80,6 @@ EXPORT_SYMBOL(__const_udelay);
*/
void __udelay(unsigned long usecs)
{
- __const_udelay(usecs * ((2199023*HZ)>>11));
+ __const_udelay(usecs * ((2199023UL*HZ)>>11));
}
EXPORT_SYMBOL(__udelay);
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
More information about the linux-arm-kernel
mailing list