summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ixp2000/core.c
diff options
context:
space:
mode:
authorRussell King2008-01-28 11:16:37 +0100
committerRussell King2008-01-28 11:17:12 +0100
commit193c3cc12583344be01206078d9ad3fec5dbc397 (patch)
tree97eb5d6ec88969d21fbf0c5815e3b77e8e1f4aaf /arch/arm/mach-ixp2000/core.c
parent[ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz (diff)
downloadkernel-qcow2-linux-193c3cc12583344be01206078d9ad3fec5dbc397.tar.gz
kernel-qcow2-linux-193c3cc12583344be01206078d9ad3fec5dbc397.tar.xz
kernel-qcow2-linux-193c3cc12583344be01206078d9ad3fec5dbc397.zip
[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 <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ixp2000/core.c')
-rw-r--r--arch/arm/mach-ixp2000/core.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c
index cb6ad211887a..81cdc8267206 100644
--- a/arch/arm/mach-ixp2000/core.c
+++ b/arch/arm/mach-ixp2000/core.c
@@ -206,8 +206,6 @@ unsigned long ixp2000_gettimeoffset (void)
static int ixp2000_timer_interrupt(int irq, void *dev_id)
{
- write_seqlock(&xtime_lock);
-
/* clear timer 1 */
ixp2000_reg_wrb(IXP2000_T1_CLR, 1);
@@ -217,8 +215,6 @@ static int ixp2000_timer_interrupt(int irq, void *dev_id)
next_jiffy_time -= ticks_per_jiffy;
}
- write_sequnlock(&xtime_lock);
-
return IRQ_HANDLED;
}