mirror of https://gitee.com/openkylin/linux.git
[ARM] 4149/1: AT91: Overrun in SAM9 gettimeoffset().
Fix an overrun in the AT91SAM9 gettimeoffset() function. This causes the time value returned by gettimeofday() to jump "backwards". Original patch from Michel Benoit. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
127a7ec69c
commit
3392b309db
|
@ -30,7 +30,6 @@
|
|||
* Returns number of microseconds since last timer interrupt. Note that interrupts
|
||||
* will have been disabled by do_gettimeofday()
|
||||
* 'LATCH' is hwclock ticks (see CLOCK_TICK_RATE in timex.h) per jiffy.
|
||||
* 'tick' is usecs per jiffy (linux/timex.h).
|
||||
*/
|
||||
static unsigned long at91sam926x_gettimeoffset(void)
|
||||
{
|
||||
|
@ -39,7 +38,7 @@ static unsigned long at91sam926x_gettimeoffset(void)
|
|||
|
||||
elapsed = (PIT_PICNT(t) * LATCH) + PIT_CPIV(t); /* hardware clock cycles */
|
||||
|
||||
return (unsigned long)(elapsed * 1000000) / LATCH;
|
||||
return (unsigned long)(elapsed * jiffies_to_usecs(1)) / LATCH;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue