[ltp] APM suspend with 2.6 kernel [long]

Michael Hagemann linux-thinkpad@linux-thinkpad.org
Sun, 4 Jan 2004 22:06:19 +0100


On Sun, 04 Jan 2004 11:41:13 -0500 Charles Lepple wrote:

> On Sunday 04 January 2004 10:09 am, Michael Hagemann wrote:
> > Version		Suspend working?
> >
> > 2.5.16		yes
> > 2.5.24		yes
> > 2.5.26		yes
> > 2.5.27		yes (gcc-3.3.3)
> > 2.5.28		no  (gcc-3.3.3)
> > 2.5.28		no  (gcc-2.95.4)
> > 2.5.30		no
> > 2.5.31		no
> > 2.6.1-rc1	no
> 
> Sounds similar, but I saw breakage _after_ 2.5.31.

That's why I started with 2.5.31.

> Are you sure that you have removed all unneccesary drivers, and that
> the i8042 driver is a module?

This seems a little tricky.  In the above I just tried a minimal
configuration, i.e. without all the drivers/input stuff.  It seems that
the old keyboard driver is still in place in those older kernels.

When I try to build the i8042 as a module, I get an error from depmod
regarding a "serio_interrupt" symbol.  This is although that symbol is
defined in the System.map.  I tried several configurations, but couldn't
produce an i8042 module as of yet.  It appears to me, that this part of
the kernel is not really wired into the rest, yet...


> > A first look at the ChangeLog and the patch shows a slightly
> > different IRQ handling in the i386/kernel and apm routines.  I will
> > try to apply some of the patches in order to isolate the bad guy...
> 
> On LKML this fall, I talked with the kernel APM maintainer, and
> attempted to figure out whether the APM segment register changes were
> making a difference on my machine. They didn't seem to be the culprit,
> but you might have a different situation.
> 
> http://www.ussg.iu.edu/hypermail/linux/kernel/0307.3/1606.html

That would be an option to look into, too.  But save from the _irq name
changes, I can't see any differences between the versions...


On Sun, 04 Jan 2004 17:19:59 +0100 Thomas Hood wrote:

> On Sun, 2004-01-04 at 16:09, Michael Hagemann wrote in part:
> >
> > A first look at the ChangeLog and the patch shows a slightly
> > different IRQ handling in the i386/kernel and apm routines.  I will
> > try to apply some of the patches in order to isolate the bad guy...
> 
> IRQ handling was changed throughout the kernel in 2.5.28 in order to
> eliminate global cli() / sti().

I saw that, too, and it does make incremental patching almost
impossible...  From what I can tell, it is for the most part just a
change of the function names, though (at least for the non-SMP case).


> There was also a big change to the
> serial driver which just *might* be relevant.  Here is the ChangeLog,
> sorted and stripped of everything that I don't think could be the
> cause:

I didn't build the kernel with the serial driver enabled.  Maybe I
should ...


michael