if ((time_status & STA_UNSYNC) == 0 && 
if (ntp_synced() && 
irqreturn_t timer_interrupt (int irq, void *dev_id, struct pt_regs *regs){	unsigned long next;	next = get_linux_timer();again:	while ((signed long)(get_ccount() - next) > 0) {		profile_tick(CPU_PROFILING, regs);#ifndef CONFIG_SMP		update_process_times(user_mode(regs));#endif		write_seqlock(&xtime_lock);		last_ccount_stamp = next;		next += CCOUNT_PER_JIFFY;		do_timer (regs); /* Linux handler in kernel/timer.c */		if ((time_status & STA_UNSYNC) == 0 &&		    xtime.tv_sec - last_rtc_update >= 659 &&		    abs((xtime.tv_nsec/1000)-(1000000-1000000/HZ))<5000000/HZ &&		    jiffies - wall_jiffies == 1) {			if (platform_set_rtc_time(xtime.tv_sec+1) == 0)				last_rtc_update = xtime.tv_sec+1;			else				/* Do it again in 60 s */				last_rtc_update += 60;		}		write_sequnlock(&xtime_lock);	}	/* NOTE: writing CCOMPAREn clears the interrupt.  */	set_linux_timer (next);	/* Make sure we didn't miss any tick... */	if ((signed long)(get_ccount() - next) > 0)		goto again;	/* Allow platform to do something usefull (Wdog). */	platform_heartbeat();	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b149ee2233edf08fb59b11e879a2c5941929bcb8/time.c/buggy/arch/xtensa/kernel/time.c