git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
ppc
/
kernel
/
smp-tbsync.c
diff --git
a/arch/ppc/kernel/smp-tbsync.c
b/arch/ppc/kernel/smp-tbsync.c
index
6a5694f
..
d0cf3f8
100644
(file)
--- a/
arch/ppc/kernel/smp-tbsync.c
+++ b/
arch/ppc/kernel/smp-tbsync.c
@@
-5,7
+5,6
@@
*
*/
*
*/
-#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
@@
-48,8
+47,9
@@
void __devinit
smp_generic_take_timebase( void )
{
int cmd, tbl, tbu;
smp_generic_take_timebase( void )
{
int cmd, tbl, tbu;
+ unsigned long flags;
- local_irq_
disable(
);
+ local_irq_
save(flags
);
while( !running )
;
rmb();
while( !running )
;
rmb();
@@
-65,7
+65,7
@@
smp_generic_take_timebase( void )
tbu = tbsync->tbu;
tbsync->ack = 0;
if( cmd == kExit )
tbu = tbsync->tbu;
tbsync->ack = 0;
if( cmd == kExit )
-
return
;
+
break
;
if( cmd == kSetAndTest ) {
while( tbsync->handshake )
if( cmd == kSetAndTest ) {
while( tbsync->handshake )
@@
-78,7
+78,7
@@
smp_generic_take_timebase( void )
}
enter_contest( tbsync->mark, -1 );
}
}
enter_contest( tbsync->mark, -1 );
}
- local_irq_
enable(
);
+ local_irq_
restore(flags
);
}
static int __devinit
}
static int __devinit