diff options
author | Tony Lindgren <tony@atomide.com> | 2006-06-18 11:26:58 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-06-18 11:26:58 -0400 |
commit | ebc67da65fda03cbe5b4019d91229287fddd5c6e (patch) | |
tree | 7f1f77aa0525eecfca86f066d64938c62794e663 /arch/arm/kernel/irq.c | |
parent | 36fe6a83b4a52276eebb929ff94896fa65d83401 (diff) |
[ARM] 3554/1: ARM: Fix dyntick locking
Patch from Tony Lindgren
This patch fixes some dyntick locking issues on ARM as pointed
out by Russell King.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/irq.c')
-rw-r--r-- | arch/arm/kernel/irq.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 2d5896b36181..bcc19fbb32df 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -342,10 +342,10 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs) | |||
342 | 342 | ||
343 | #ifdef CONFIG_NO_IDLE_HZ | 343 | #ifdef CONFIG_NO_IDLE_HZ |
344 | if (!(action->flags & SA_TIMER) && system_timer->dyn_tick != NULL) { | 344 | if (!(action->flags & SA_TIMER) && system_timer->dyn_tick != NULL) { |
345 | write_seqlock(&xtime_lock); | 345 | spin_lock(&system_timer->dyn_tick->lock); |
346 | if (system_timer->dyn_tick->state & DYN_TICK_ENABLED) | 346 | if (system_timer->dyn_tick->state & DYN_TICK_ENABLED) |
347 | system_timer->dyn_tick->handler(irq, 0, regs); | 347 | system_timer->dyn_tick->handler(irq, 0, regs); |
348 | write_sequnlock(&xtime_lock); | 348 | spin_unlock(&system_timer->dyn_tick->lock); |
349 | } | 349 | } |
350 | #endif | 350 | #endif |
351 | 351 | ||