Re: Dell Latitude C600 suspend problem

Tim Stadelmann (Tim.Stadelmann@physics.ox.ac.uk)
Sun, 7 Oct 2001 17:09:57 +0100


On Sun, Oct 07, 2001 at 03:10:14PM +0100, Alan Cox wrote:
> > A closer investigation revealed that the patch meant to correct a
> > problem with the internal ps2 pointing device on suspend is at fault.
> > Commenting out the entry in arch/i386/kernel/dmi_scan.c that triggers
> > the activation of this logic for the C600 allows the machine to
> > suspend normally.
>
> The change doesn't affect the suspend. What it deals with is the resume
> side. When the C600 resumes it doesn't always restore the keyboard/mouse
> state.

Well, it SHOULDN'T affect the suspend... I should have been more
precise here, but this was described in an earlier thread: the bug
does indeed prevent the machine from entering suspend mode at all.

> The actual code it runs is pckbd_pm_resume() (pc_keyb.c) so you might want
> to see if that is actually triggering and where it hangs during the resume

In fact, it turns out that the power management callback routine
doesn't check whether a suspend or a resume event triggered it. More
importantly, it doesn't provide a return value either. This explains
what happens: The power management code looks for a status value
returned by the callback and gets a more or less random int, which
usually dosn't happen to be 0 (== successful suspend).

I've written a little patch (not included yet) that makes
pckbd_pm_resume behave well in connection with the current incarnation
of the power management code. Suspend and resume work again without
problems.

Unfortunatly, now the actual tweeks done by the callback seem to
slightly confuse my keyboard driver...? Will look into that soon.

Tim Stadelmann

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/