From 193c3cc12583344be01206078d9ad3fec5dbc397 Mon Sep 17 00:00:00 2001 From: Russell King Date: Mon, 28 Jan 2008 10:16:37 +0000 Subject: [ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99 Move the xtime write mode seqlock into timer_tick(), so it only surrounds the call to do_timer(). This avoids a deadlock in update_process_times() ... hrtimer_get_softirq_time() which tries to get a read mode seqlock on xtime, thereby preventing booting. Signed-off-by: Russell King --- arch/arm/kernel/time.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/kernel/time.c') diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index e59b5b84168d..b5867eca1d0b 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c @@ -325,7 +325,9 @@ void timer_tick(void) profile_tick(CPU_PROFILING); do_leds(); do_set_rtc(); + write_seqlock(&xtime_lock); do_timer(1); + write_sequnlock(&xtime_lock); #ifndef CONFIG_SMP update_process_times(user_mode(get_irq_regs())); #endif -- cgit v1.2.3-59-g8ed1b