Bug 54181 - apm bios is never turned on if the kernel switch apm=on is specified.
apm bios is never turned on if the kernel switch apm=on is specified.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Raw Hide
Classification: Retired
Component: kernel (Show other bugs)
1.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-09-30 20:24 EDT by Shinya Narahara
Modified: 2015-01-04 17:01 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-10-29 23:42:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Shinya Narahara 2001-09-30 20:24:03 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [ja] (WinNT; U)

Description of problem:
If the kernel switch "apm=on" is specified, the apm bios isnot turned on
because of kernel bug, probably from kernel-2.4.9-ac#.


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.specify kernel switch "apm=on" on lilo/grub configuration file.
2.reboot.
3.


Actual Results:  The file /proc/apm isn't appeared and apmd never work.


Expected Results:  The file /proc/apm is appeared and apmd works normally.

Additional info:

This is just a kernel bug. If you don't specify the switch, the apm bios is turned on normally.
In kernel 2.4.9-ac# and 2.4.10, if the switch is specified, the value apm_disabled is set as 0 in
function apm_setup(). But in function apm_init(), the value is checked whether it is -1 or not.
Quick hack for kernel-2.4.10 is below:

--- linux/arch/i386/kernel/apm.c	Tue Sep 18 14:52:35 2001
+++ linux/arch/i386/kernel/apm.c.s_nara	Sun Sep 30 20:42:18 2001
@@ -1589,7 +1589,7 @@
 		if (strncmp(str, "off", 3) == 0)
 			apm_disabled = 1;
 		if (strncmp(str, "on", 2) == 0)
-			apm_disabled = 0;
+			apm_disabled = -1;
 		if ((strncmp(str, "allow-ints", 10) == 0) ||
 		    (strncmp(str, "allow_ints", 10) == 0))
  			apm_info.allow_ints = 1;
Comment 1 Arjan van de Ven 2001-10-01 06:32:10 EDT
Thanks for the bugreport; looks indeed a bug.

Note You need to log in before you can comment on or make changes to this bug.