Re: A problem with ktimer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux