diff options
author | Francisco Jerez <[email protected]> | 2010-08-22 17:37:24 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2010-09-03 17:29:03 -0700 |
commit | 9fc2b2d0cf743008d8f6be6293278f4ef61f09f3 (patch) | |
tree | df7c30660be493aa9844da45f02c06097936f5b9 /tools/perf/util/trace-event-scripting.c | |
parent | 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff) |
vt: Fix console corruption on driver hand-over.
After 02f0777a0d6560eb995aade34a1b82f95c0452da "vc_origin" is no
longer reset to the screen buffer before calling the con_init() hook
of the new console driver.
If the old driver wasn't using a fixed scanout buffer (e.g. the case
of vgacon) "vc_origin" may be a pointer to a VRAM location, and its
contents aren't guaranteed to be preserved after calling con_deinit()
on the old driver and con_init() on the new driver, i.e. the
subsequent console resize may fill the framebuffer with garbage.
It can be reproduced in the transition from vgacon to the nouveau
framebuffer driver: in that case the legacy VGA aperture "vc_origin"
points to becomes unreadable after fbcon_init().
This patch reverts the mentioned commit. To avoid the problem it
intended to fix, stop using "vc_scr_end" in vc_do_resize() to
calculate how many rows we have to copy (actually the code looks
simpler this way without the help of "vc_scr_end").
Signed-off-by: Francisco Jerez <[email protected]>
Cc: qiaochong <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Alan Cox <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions