summaryrefslogtreecommitdiffstats
path: root/drivers/video/console/vgacon.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2019-01-28 08:44:58 +0100
committerGreg Kroah-Hartman2019-01-28 08:44:58 +0100
commitc9381e185fdcf86e9d7966d638c933894f87cdd7 (patch)
treed99259aded85a3fb95e9d52c56d9d3a0cfdfe460 /drivers/video/console/vgacon.c
parentusb: ftdi-elan: Fix if == else warnings in ftdi_elan_respond_engine (diff)
parentLinux 5.0-rc4 (diff)
downloadkernel-qcow2-linux-c9381e185fdcf86e9d7966d638c933894f87cdd7.tar.gz
kernel-qcow2-linux-c9381e185fdcf86e9d7966d638c933894f87cdd7.tar.xz
kernel-qcow2-linux-c9381e185fdcf86e9d7966d638c933894f87cdd7.zip
Merge 5.0-rc4 into usb-next
We need the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/video/console/vgacon.c')
-rw-r--r--drivers/video/console/vgacon.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 09731b2f6815..c6b3bdbbdbc9 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -271,6 +271,7 @@ static void vgacon_scrollback_update(struct vc_data *c, int t, int count)
static void vgacon_restore_screen(struct vc_data *c)
{
+ c->vc_origin = c->vc_visible_origin;
vgacon_scrollback_cur->save = 0;
if (!vga_is_gfx && !vgacon_scrollback_cur->restore) {
@@ -287,8 +288,7 @@ static void vgacon_scrolldelta(struct vc_data *c, int lines)
int start, end, count, soff;
if (!lines) {
- c->vc_visible_origin = c->vc_origin;
- vga_set_mem_top(c);
+ vgacon_restore_screen(c);
return;
}
@@ -298,6 +298,7 @@ static void vgacon_scrolldelta(struct vc_data *c, int lines)
if (!vgacon_scrollback_cur->save) {
vgacon_cursor(c, CM_ERASE);
vgacon_save_screen(c);
+ c->vc_origin = (unsigned long)c->vc_screenbuf;
vgacon_scrollback_cur->save = 1;
}
@@ -335,7 +336,7 @@ static void vgacon_scrolldelta(struct vc_data *c, int lines)
int copysize;
int diff = c->vc_rows - count;
- void *d = (void *) c->vc_origin;
+ void *d = (void *) c->vc_visible_origin;
void *s = (void *) c->vc_screenbuf;
count *= c->vc_size_row;