Messages in this thread |  | | Date | Sun, 7 Oct 2001 17:09:57 +0100 | From | Tim Stadelmann <> | Subject | Re: Dell Latitude C600 suspend problem |
| |
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/
|  |