Re: [patch 3/3] clockevents: Fix resume logic - updated version

Thomas Gleixner
2007-05-12T08:43:17Z

On Fri, 2007-05-11 at 23:56 -0700, Andrew Morton wrote:
> On Fri, 11 May 2007 23:09:15 +0200 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
>
> > > >
> > > > hm, Fedora don't seem to want to give me an RPM which contains acpidump and
> > > > all the yum servers are featuring scrogged checksums. I could build it, I
> > > > guess, but there's a principle involved ;)
> > > >
> > > > http://userweb.kernel.org/~akpm/dsdt is /proc/acpi/dsdt. Is that OK?
> > >
> > > Yes, thanks.
> >
> > Hmm, have you tried to do 'echo shutdown > /sys/power/disk' before the
> > hibernation?
>
> That didn't change the behaviour.

Andrew,

can you try the desperate witchcraft patch below ?

tglx

Index: linux-2.6.21/arch/i386/kernel/apic.c
===================================================================
--- linux-2.6.21.orig/arch/i386/kernel/apic.c
+++ linux-2.6.21/arch/i386/kernel/apic.c
@@ -238,9 +238,13 @@ static void lapic_timer_setup(enum clock
break;
case CLOCK_EVT_MODE_UNUSED:
case CLOCK_EVT_MODE_SHUTDOWN:
- v = apic_read(APIC_LVTT);
- v |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
- apic_write_around(APIC_LVTT, v);
+
+ if (evt->mode == CLOCK_EVT_MODE_PERIODIC ||
+ evt->mode == CLOCK_EVT_MODE_ONESHOT) {
+ v = apic_read(APIC_LVTT);
+ v |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
+ apic_write_around(APIC_LVTT, v);
+ }
break;
case CLOCK_EVT_MODE_RESUME:
/* Nothing to do here */