Benjamin Herrenschmidt wrote:
> There is a problem with the power management code for console.c
>
> The current code calls do_blank_screen(0); on PM_SUSPEND, and
> unblank_screen() on PM_RESUME.
>
> The problem happens when X is the current display while putting the
> machine to sleep. The do_blank_screen(0) code will do nothing as
> the console is not in KD_TEXT mode.
> However, unblank_screen has no such protection. That means that
> on wakeup, the cursor timer & console blank timers will be re-enabled
> while X is frontmost, causing the blinking cursor to be displayed on
> top of X, and other possible issues.
On that theme of power management with X problems, I have been having
trouble with my laptop crashing when the lid is closed, instead of
suspending as it used to. The laptop is a Toshiba Satellite 4070CDT.
The problem appeared around the time I updated the XFree86-4 package to
Red Hat 7's latest update, but I also updated to kernel 2.4.2 around
the same time so I'm not sure of the cause.
Until recently, closing the lid caused the machine to beep three times,
sync data to disk and suspend, then opening the lid resumed. This
worked with or without X displaying.
Now if I switch to a text console and then suspend, it is fine.
If I have X displaying, closing the lid causes the machine to
beep... and beep and beep. About half the time it does suspend after
many more beeps than usual (e.g. 10 seconds pass before deciding to sync
to disk), and in that case it usually resumes ok but sometimes it
resumes and the machine is not responding to keyboard input. When this
happens, a hard reboot is required. (SysRq doesn't work).
The other half of the time it just beeps repeatedly forever. Mouse
input doesn't work, nor does keyboard. Curiously, SysRq-S-U-B still
syncs and reboots the machine with a clean disk from this state.
These effects might have something to do with APM in current kernels
and/or XFree86-4.0.1-1 from Red Hat 7 updates. Has anyone observed
similar recent problems?
-- Jamie
-
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/
This archive was generated by hypermail 2b29 : Sat Mar 31 2001 - 21:00:24 EST