Re: APM shutdown oops (Re: [stable] [patch 09/12] Fix SMP poweroff hangs)

Rafael J. Wysocki
2007-10-12T11:49:53Z

On Friday, 12 October 2007 01:27, Adrian Bunk wrote:
> On Thu, Oct 11, 2007 at 02:42:01PM -0400, Jeff Garzik wrote:
> > Linus Torvalds wrote:
> >> On Wed, 10 Oct 2007, Kevin wrote:
> >>> The last kernel I used was 6.2.22 the "dmesg" the file is attached:
> >>>
> >>> dmesg 2.6.22 line 158 > apm: overridden by ACPI.
> >>>
> >>> dmesg, APM on, has no line > apm: overridden by ACPI.
> >> Ok, this is the real reason. The APM code does:
> >> if (PM_IS_ACTIVE()) {
> >> printk(KERN_NOTICE "apm: overridden by ACPI.\n");
> >> apm_info.disabled = 1;
> >> return -ENODEV;
> >> }
> >> and in previous kernels that would notice that you have ACPI enabled, and
> >> APM gets shut out, and you never see your buggy APM BIOS.
> >> In 2.6.23, this apparently doesn't happen for some reason.
> >> And I think I see the problem: it's a config change. You don't have
> >> PM_LEGACY enabled. Your config file diff shows:
> >> -CONFIG_PM_LEGACY=y
> >> +# CONFIG_PM_LEGACY is not set
> >> I suspect we should make CONFIG_APM either depend on, or select,
> >> PM_LEGACY. But as far as I can see, nothing has actually changed in this
> >> area in the kernel, and this bug has been there before - just your config
> >> change made it appear. Rafael? Stephen? Opinions? I'd think that making
> >> APM depend on CONFIG_PM_LEGACY is the right thing to do these days..
> >
> > Speaking as the author of
> >
> > [PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h
> >
> > I agree. arch/i386/kernel/apm.c clearly requires include/linux/pm_legacy.h
> > and the legacy PM API.
> >
> > I would vote for a dependency rather than select, but don't have any strong
> > feelings on the matter...
>
> It should be a select since a dependency would make it needlessly hard
> for kconfig users to find the APM option.

Well, my experience with selects is such that I'd rather avoid them in the
future, if possible ...

Greetings,
Rafael