From 34148713e4a647ef46a7b685634104fe068270ab Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Mon, 20 Nov 2006 22:17:09 +0100 Subject: [PATCH] --- yaml --- r: 43379 b: refs/heads/master c: bf46878c4ef4cf04a3564f0ff2e7daae353ee2e2 h: refs/heads/master i: 43377: fb042aa009475d07ddd444c34dd34acd0db0481f 43375: 58ad10bfa844e16bee6ac071089bde6669d03749 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-sa1100/time.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 03db97b58bff..6139a76f0a5d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 10dd5ce28d78e2440e8fa1135d17e33399d75340 +refs/heads/master: bf46878c4ef4cf04a3564f0ff2e7daae353ee2e2 diff --git a/trunk/arch/arm/mach-sa1100/time.c b/trunk/arch/arm/mach-sa1100/time.c index 4284bd6f7a1f..29c89f9eb2ce 100644 --- a/trunk/arch/arm/mach-sa1100/time.c +++ b/trunk/arch/arm/mach-sa1100/time.c @@ -118,6 +118,7 @@ static struct irqaction sa1100_timer_irq = { static void __init sa1100_timer_init(void) { struct timespec tv; + unsigned long flags; set_rtc = sa1100_set_rtc; @@ -126,12 +127,12 @@ static void __init sa1100_timer_init(void) do_settimeofday(&tv); OIER = 0; /* disable any timer interrupts */ - OSCR = LATCH*2; /* push OSCR out of the way */ - OSMR0 = LATCH; /* set initial match */ OSSR = 0xf; /* clear status on all timers */ setup_irq(IRQ_OST0, &sa1100_timer_irq); + local_irq_save(flags); OIER = OIER_E0; /* enable match on timer 0 to cause interrupts */ - OSCR = 0; /* initialize free-running timer */ + OSMR0 = OSCR + LATCH; /* set initial match */ + local_irq_restore(flags); } #ifdef CONFIG_NO_IDLE_HZ