> unsigned long data) > +{ > + timer->function = function; > + timer->data = data; > + init_timer(timer); > +} are you sure you want to do this in this order??? I'd expect the init_timer to be first...