time_adjust = 0;		/* stop active adjtime() */ time_status |= STA_UNSYNC; time_maxerror = NTP_PHASE_LIMIT; time_esterror = NTP_PHASE_LIMIT; 
ntp_clear(); 
int do_settimeofday(struct timespec *tv){	if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)		return -EINVAL;	write_lock_irq(&xtime_lock);	/* This is revolting. We need to set the xtime.tv_usec	 * correctly. However, the value in this location is	 * is value at the last tick.	 * Discover what correction gettimeofday	 * would have done, and then undo it!	 */	while (tv->tv_nsec < 0) {		tv->tv_nsec += NSEC_PER_SEC;		tv->tv_sec--;	}	xtime.tv_sec = tv->tv_sec;	xtime.tv_nsec = tv->tv_nsec;	time_adjust = 0;		/* stop active adjtime() */	time_status |= STA_UNSYNC;	time_maxerror = NTP_PHASE_LIMIT;	time_esterror = NTP_PHASE_LIMIT;	write_sequnlock_irq(&xtime_lock);	clock_was_set();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b149ee2233edf08fb59b11e879a2c5941929bcb8/time.c/buggy/arch/h8300/kernel/time.c