2001-10-12 19:40:53

by Thomas Hood

[permalink] [raw]
Subject: Re: kapm-idled Funny in 2.4.10-ac12

Just taking a walk through apm.c ...

I notice that set_time() calls get_cmos_time() with interrupts
disabled, whereas get_time_diff calls it with interrupts
enabled.

get_cmos_time is in time.c . It does a bunch of CMOS_READs
without taking rtc_lock.

Methinks that the
save_flags(flags); ...; cli(); ...; restore_flags(flags);
constructs in apm.c need some attention.

Thomas


2001-10-12 20:06:33

by Alan

[permalink] [raw]
Subject: Re: kapm-idled Funny in 2.4.10-ac12

> get_cmos_time is in time.c . It does a bunch of CMOS_READs
> without taking rtc_lock.
>
> Methinks that the
> save_flags(flags); ...; cli(); ...; restore_flags(flags);
> constructs in apm.c need some attention.

Well spotted. Yes the CMOS handling does still seem a bit random in places