x86, setup: When restoring the screen, update boot_params.screen_info
authorH. Peter Anvin <hpa@zytor.com>
Thu, 18 Feb 2010 02:32:06 +0000 (18:32 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 18 Feb 2010 02:32:06 +0000 (18:32 -0800)
commitf1f6baf8f1df29be38003089787e378567ce0086
tree241bbc2e266f5d08cec510064fc4a2cc0417c46e
parentb0483e78e5c4c9871fc5541875b3bc006846d46b
x86, setup: When restoring the screen, update boot_params.screen_info

When we restore the screen content after a mode change, we return the
cursor to its former position.  However, we need to also update
boot_params.screen_info accordingly, so that the decompression code
knows where on the screen the cursor is.  Just in case the video BIOS
does something extra screwy, read the cursor position back from the
BIOS instead of relying on it doing the right thing.

While we're at it, make sure we cap the cursor position to the new
screen coordinates.

Reported-by: Wim Osterholt <wim@djo.tudelft.nl>
Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/boot/video.c