--- linux-2.5.68/net/core/dst.c 2003-03-25 10:08:35.000000000 +0530 +++ linux-2.5.68-mod/net/core/dst.c 2003-05-03 13:42:12.000000000 +0530 @@ -154,11 +154,9 @@ dst->next = dst_garbage_list; dst_garbage_list = dst; if (dst_gc_timer_inc > DST_GC_INC) { - del_timer(&dst_gc_timer); dst_gc_timer_inc = DST_GC_INC; dst_gc_timer_expires = DST_GC_MIN; - dst_gc_timer.expires = jiffies + dst_gc_timer_expires; - add_timer(&dst_gc_timer); + mod_timer(&dst_gc_timer, jiffies + dst_gc_timer_expires); } spin_unlock_bh(&dst_lock); }