Re: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected)

From: Rafael J. Wysocki
Date: Thu Jan 29 2009 - 09:49:38 EST


On Thursday 29 January 2009, Ingo Molnar wrote:
>
> * Frans Pop <elendil@xxxxxxxxx> wrote:
>
> > On Friday 05 December 2008, Linus Torvalds wrote:
> > > On Thu, 4 Dec 2008, Linus Torvalds wrote:
> > > > The third thing that worries me is the _very_ early occurrence of
> > > >
> > > > ACPI: Waking up from system sleep state S3
> > > > APIC error on CPU1: 00(40)
> > > > ACPI: EC: non-query interrupt received, switching to interrupt mode
> > > >
> > > > Now, that "APIC error" thing is worrisome. It's worrisome for
> > > > multiple reasons:
> > > >
> > > > - errors are never good (0x40 means "received illegal vector",
> > > > whatever caused _that_)
> > > >
> > > > - more importantly, it seems to imply that interrupts are enabled on
> > > > CPU1, and they sure as hell shouldn't be enabled at this stage!
> > > >
> > > > Do we perhaps have a SMP resume bug where we resume the other
> > > > CPU's with interrupts enabled?
> > > >
> > > > - the "ACPI: EC: non-query interrupt received, switching to
> > > > interrupt mode" thing is from ACPI, and _also_ implies that
> > > > interrupts are on.
> > > >
> > > > Why are interrupts enabled that early? I really don't like seeing
> > > > interrupts enabled before we've even done the basic PCI resume.
> >
> > Quick revival of this old thread with good news.
> > The "APIC error on CPU1" message is now gone!
>
> that was an old mystery!
>
> So enabling interrupts too early (possibly before the lapic, the hpet or
> both are initialized properly?) can generate an APIC error message?

Hmm, I think that's something different, because the APIC error was on CPU1.
Perhaps the restoration of all standard PCI config spaces before bringing CPU1
up helped here.

> > With current git head I get:
> > ACPI: Waking up from system sleep state S3
> > ACPI: EC: non-query interrupt received, switching to interrupt mode
>
> i started getting those messages too - but earlier in the cycle, during
> one of the ACPI merges i think.

AFAICS, the last message only means that the ACPI EC code is now going to use
interrupts instead of polling, which generally is good.

Alex, is that correct?

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/