From mboxrd@z Thu Jan 1 00:00:00 1970 From: sboyd@codeaurora.org (Stephen Boyd) Date: Wed, 06 Apr 2011 10:34:16 -0700 Subject: [PATCHv5 1/3] ARM: Translate delay.S into (mostly) C In-Reply-To: <4D9C2910.6020309@stericsson.com> References: <1302047800-26720-1-git-send-email-sboyd@codeaurora.org> <1302047800-26720-2-git-send-email-sboyd@codeaurora.org> <4D9C2910.6020309@stericsson.com> Message-ID: <4D9CA418.2030107@codeaurora.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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.