diff options
Diffstat (limited to 'drivers/tty/vt')
-rw-r--r-- | drivers/tty/vt/vt.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 4c10a9df3b91..9d3ce505e7ab 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c | |||
@@ -625,6 +625,14 @@ static void save_screen(struct vc_data *vc) | |||
625 | vc->vc_sw->con_save_screen(vc); | 625 | vc->vc_sw->con_save_screen(vc); |
626 | } | 626 | } |
627 | 627 | ||
628 | static void flush_scrollback(struct vc_data *vc) | ||
629 | { | ||
630 | WARN_CONSOLE_UNLOCKED(); | ||
631 | |||
632 | if (vc->vc_sw->con_flush_scrollback) | ||
633 | vc->vc_sw->con_flush_scrollback(vc); | ||
634 | } | ||
635 | |||
628 | /* | 636 | /* |
629 | * Redrawing of screen | 637 | * Redrawing of screen |
630 | */ | 638 | */ |
@@ -1171,6 +1179,7 @@ static void csi_J(struct vc_data *vc, int vpar) | |||
1171 | case 3: /* erase scroll-back buffer (and whole display) */ | 1179 | case 3: /* erase scroll-back buffer (and whole display) */ |
1172 | scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char, | 1180 | scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char, |
1173 | vc->vc_screenbuf_size); | 1181 | vc->vc_screenbuf_size); |
1182 | flush_scrollback(vc); | ||
1174 | set_origin(vc); | 1183 | set_origin(vc); |
1175 | if (con_is_visible(vc)) | 1184 | if (con_is_visible(vc)) |
1176 | update_screen(vc); | 1185 | update_screen(vc); |