Messages in this thread | | | Date | Fri, 18 Sep 1998 00:11:15 +1000 (EST) | From | Stephen Rothwell <> | Subject | Re: apm broken - again (2.1.122) + FIX |
| |
> From: Marc Lehmann <pcg@goof.com> > Subject: apm broken - again (2.1.122) + FIX > Date: Thu, 17 Sep 1998 23:10:05 +1000 > > On one sunny day, somebody disabled APM+SMP, causing kernel oopses everytime > I try to switch of my machine (using apm). The stated reason was (I believe), > that APM does not work with SMP. But fact is: > > - APM poweroff works fine here when APM+SMP is enabled
APM support is not even weel defined in an SMP environment - if yours works, I am not sure how (but I don't understand the SMP stuff anyway). Also hoving APM support enabled under SMP will be disabling interrupts every second while the BIOS is called - something that (I think) should not be done with SMP.
> - APM poweroff causes an oops with the current apm.c
This has always been true when apm support is enabled in the kernel but no APM BIOS exists - which is what you effectively have on all SMP systems. I am currently fixing this.
> I "fixed" it by commenting out the first "return;" in apm_bios.c, send a bug > report to the kernel list, and forgot about it. > > Now, it wasn't fixed, but 2.1.122 reintroduced it (not really, 2.1.122 just > renamed apm_bios.c) > > So, again, what purpose has this code in apm.c: > > #ifdef __SMP__ > if (smp_num_cpus > 1) { > printk(KERN_NOTICE "APM disabled: APM is not SMP safe.\n"); > return; > } > #endif
read the printk - it is correct ...
> with it, I get oopses, without it everything works fine. Yes, I'm not > enabling any powersaving, I just want an automatic power-off, and the > current code is (and was) buggy.
You will have to try another way to do auto power off. The current code is correct (except for the OOPS at shutdown which I am currently fixing).
Cheers, Stephen Rothwell
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |