--- lapic.c~ 2007-09-09 12:51:09.000000000 +0200 +++ lapic.c 2007-09-09 16:12:38.000000000 +0200 @@ -31,6 +31,7 @@ #include #include #include +#include #include "irq.h" #define PRId64 "d" @@ -511,8 +512,8 @@ } else passed = ktime_sub(now, apic->timer.last_update); - counter_passed = ktime_to_ns(passed) / - (APIC_BUS_CYCLE_NS * apic->timer.divide_count); + counter_passed = div64_64(ktime_to_ns(passed), + (APIC_BUS_CYCLE_NS * apic->timer.divide_count)); tmcct -= counter_passed; if (tmcct <= 0) {