## Automatically generated incremental diff
## From:   linux-2.4.22-bk47
## To:     linux-2.4.22-bk48
## Robot:  $Id: make-incremental-diff,v 1.11 2002/02/20 02:59:33 hpa Exp $

diff -urN linux-2.4.22-bk47/Makefile linux-2.4.22-bk48/Makefile
--- linux-2.4.22-bk47/Makefile	2003-11-06 03:03:03.000000000 -0800
+++ linux-2.4.22-bk48/Makefile	2003-11-06 03:03:17.000000000 -0800
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 22
-EXTRAVERSION = -bk47
+EXTRAVERSION = -bk48
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
diff -urN linux-2.4.22-bk47/arch/i386/kernel/time.c linux-2.4.22-bk48/arch/i386/kernel/time.c
--- linux-2.4.22-bk47/arch/i386/kernel/time.c	2003-06-13 07:51:29.000000000 -0700
+++ linux-2.4.22-bk48/arch/i386/kernel/time.c	2003-11-06 03:03:18.000000000 -0800
@@ -279,6 +279,7 @@
 static inline void mark_timeoffset_cyclone(void)
 {
 	int count;
+	unsigned long lost;
 	unsigned long delta = last_cyclone_timer;
 	spin_lock(&i8253_lock);
 	/* quickly read the cyclone timer */
@@ -293,11 +294,12 @@
 	spin_unlock(&i8253_lock);
 
 	/*lost tick compensation*/
-	delta = last_cyclone_timer - delta;
-	if(delta > loops_per_jiffy+2000){
-		delta = (delta/loops_per_jiffy)-1;
-		jiffies += delta;
-	}
+	delta = last_cyclone_timer - delta;	
+	delta /= (CYCLONE_TIMER_FREQ/1000000);
+	delta += delay_at_last_interrupt;
+	lost = delta/(1000000/HZ);
+	if (lost >= 2)
+		jiffies += lost-1;
                
 	count = ((LATCH-1) - count) * TICK_SIZE;
 	delay_at_last_interrupt = (count + LATCH/2) / LATCH;
