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    [W:0.026 / U:0.992 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site