aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/smp-tbsync.c
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-09-05 17:16:33 -0400
committerDave Jones <davej@redhat.com>2006-09-05 17:16:33 -0400
commit23e735bc7b0e1d614656881794257b4224efda3a (patch)
treed9523b531156fedb204e31b4612519b0a7a003e7 /arch/powerpc/kernel/smp-tbsync.c
parent3906f4edeef976c081c4e7bd92164d2f59c325ae (diff)
parentc336923b668fdcf0312efbec3b44895d713f4d81 (diff)
Merge ../linus
Diffstat (limited to 'arch/powerpc/kernel/smp-tbsync.c')
-rw-r--r--arch/powerpc/kernel/smp-tbsync.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/smp-tbsync.c b/arch/powerpc/kernel/smp-tbsync.c
index f19e2e0e61e..de59c6c31a5 100644
--- a/arch/powerpc/kernel/smp-tbsync.c
+++ b/arch/powerpc/kernel/smp-tbsync.c
@@ -45,8 +45,9 @@ void __devinit smp_generic_take_timebase(void)
{
int cmd;
u64 tb;
+ unsigned long flags;
- local_irq_disable();
+ local_irq_save(flags);
while (!running)
barrier();
rmb();
@@ -70,7 +71,7 @@ void __devinit smp_generic_take_timebase(void)
set_tb(tb >> 32, tb & 0xfffffffful);
enter_contest(tbsync->mark, -1);
}
- local_irq_enable();
+ local_irq_restore(flags);
}
static int __devinit start_contest(int cmd, long offset, int num)