Index: sys/compat/linuxkpi/common/include/linux/timer.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/timer.h +++ sys/compat/linuxkpi/common/include/linux/timer.h @@ -78,12 +78,12 @@ callout_init(&(timer)->callout, 1); \ } while (0) -extern void mod_timer(struct timer_list *, int); +extern int mod_timer(struct timer_list *, int); extern void add_timer(struct timer_list *); extern void add_timer_on(struct timer_list *, int cpu); extern int del_timer(struct timer_list *); -#define del_timer_sync(timer) (void)callout_drain(&(timer)->callout) +#define del_timer_sync(timer) del_timer(timer) #define timer_pending(timer) callout_pending(&(timer)->callout) #define round_jiffies(j) \ ((int)(((j) + linux_timer_hz_mask) & ~linux_timer_hz_mask)) Index: sys/compat/linuxkpi/common/src/linux_compat.c =================================================================== --- sys/compat/linuxkpi/common/src/linux_compat.c +++ sys/compat/linuxkpi/common/src/linux_compat.c @@ -1903,14 +1903,14 @@ timer->function(timer->data); } -void +int mod_timer(struct timer_list *timer, int expires) { timer->expires = expires; - callout_reset(&timer->callout, + return (callout_reset(&timer->callout, linux_timer_jiffies_until(expires), - &linux_timer_callback_wrapper, timer); + &linux_timer_callback_wrapper, timer)); } void