Re: A problem with ktimer
From: Steven Rostedt
Date: Thu Nov 17 2005 - 12:29:50 EST
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/