In kernel/pm.c, at around line 242, I inserted these lines:
if (status) {
// inserted by awc
printk( "awc: APM Suspend vetoed by: \n");
printk( " type = %d", dev->type );
printk( " id = %d", dev->id );
printk( " callback = %d", dev->callback );
printk( " data = %d", dev->data );
printk( " flags = %d", dev->flags );
printk( " state = %d", dev->state );
printk( " prev_state = %d\n", dev->prev_state );
// we now return to your regularly scheduled kernel...
...and after compiling, installing, rebooting and entering "apm --suspend"
at a vc, I found this in syslog:
Sep 27 19:39:09 onus kernel: awc: APM Suspend vetoed by:
Sep 27 19:39:09 onus kernel: type = 1 id = 1104151299 callback =
-1072064644 data = 0 flags = 0 state = 0 prev_state = 0
1104151299 is 0x41D00303, which if you consult your include/linux/pm.h
(PM_SYS_DEV = 1, PM_SYS_KBC = 0x41d00303), would seem AFAICT to indicate
that it's the keyboard driver--or something upstream of it--who's vetoing my
suspend. Am I crazy?
Obviously, apart from the final CR after typing "apm --suspend", I'm not
touching the keyboard before it fails. I tried asking KLaptop (the KDE
power applet) to suspend using the mouse, and I found exactly the same debug
output repeated in syslog.
-0xe1a
-
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/