*
*/
+#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
smp_generic_take_timebase( void )
{
int cmd, tbl, tbu;
- unsigned long flags;
- local_irq_save(flags);
+ local_irq_disable();
while( !running )
;
rmb();
tbu = tbsync->tbu;
tbsync->ack = 0;
if( cmd == kExit )
- break;
+ return;
if( cmd == kSetAndTest ) {
while( tbsync->handshake )
}
enter_contest( tbsync->mark, -1 );
}
- local_irq_restore(flags);
+ local_irq_enable();
}
static int __devinit