2000-11-01 01:07:37

by Mike Oliver

[permalink] [raw]
Subject: 2.2.17 -- can't power-down on halt?

I have Linux RH 6.2 installed, Soyo motherboard, Athlon K7.
When using the kernel that came with the distro (2.2.14-5.0),
the "shutdown -h" commend worked correctly, causing the
computer to power down after exiting Linux.

But when I compiled myself a 2.2.17 kernel, it didn't
work anymore (it hung on halt). So I turned on
CONFIG_APM_REAL_MODE_POWER_OFF, which is supposed to
fix some bugs. But after that, while it no longer
hung, it *restarted* rather than powering down as
I wanted it to.

I find that the CONFIG_APM_REAL_MODE_POWER_OFF symbol
causes apm_power_off() to call
machine_real_restart(po_bios_call, sizeof(po_bios_call));
which certainly *looks* like it's trying to restart
the machine rather than powering down (line 641 of
apm.c, version 1.13). What's the reason for
this?

When the symbol is not defined, apm_power_off() calls
(void) apm_set_power_state(APM_STATE_OFF);
which is the same call as in apm.c from the
2.2.14 kernel (version 1.9 of apm.c). So
how come this causes a hang when I try
it in 2.2.17, but not in 2.2.14?