lkml.org 
[lkml]   [2008]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: Kernel-2.6.22 ntp bug
Date
From
Another option is to change all the drivers to be interrupts safe  

Hanoh

-----Original Message-----
From: Hanoch Haim (hhaim)
Sent: Monday, September 22, 2008 12:07 PM
To: linux-kernel@vger.kernel.org
Cc: cl@linux-foundation.org; Hanoch Haim (hhaim)
Subject: Kernel-2.6.22 ntp bug
Hi All, I'm new to this mailing list.


I think there is a bug in the kernel/time/ntp.c


The code call to the function update_persistent_clock(struct timespec
now); the driver below might be implement with i2c (driver of rtc )
which is not interrupt safe.

I have changed the ntp to use work_queue what do you think ?



attached the changed code:



+ fail = dpc_update_persistent_clock(now);


instead of

- update_persistent_clock(now); // this is called to function that might
be block. you can't do that in interrupt context
the function call schedule_work



extern int dpc_update_persistent_clock(struct timespec now){
my_ntp.now=now;

return(schedule_work(&my_ntp.update_rtc_queue));

}

another option is to change the wrapper function for the set_rtc_xx but
in this case you will need to change all the platforms that uses it (
powerpc)


Hanoh


\
 
 \ /
  Last update: 2008-09-22 15:31    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site