On Thu, 2005-11-17 at 16:39 +0100, Claudio Scordino wrote: > Hi, > > I know that ktimer is not yet part of the main tree of the Linux kernel. > > However, maybe someone can help me to understand why the following code in a > module makes crash my x86_64. > > Many thanks, > > Claudio > > > > struct ktimer mytimer; > > void myfunction() > { > int i; > } > > > static int module_insert(void) > { > ktime_t mytime = ktime_set(1,0); > mytimer.function = myfunction; > mytimer.data = NULL; > ktimer_init(&mytimer); > ktimer_start(&mytimer, &mytime, KTIMER_REL); > //... > } You must do the ktimer_init first! So the order must be: ktimer_init(&mytimer); mytimer.function = myfunction; mytimer.data = NULL; //... Think of ktimer_init like memset(...) (since it actually does a memset) You wouldn't do; struct myvar; myvar.my_field = 1; memset(&myvar, 0, sizeof(myvar)); Right ;-) -- Steve -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/