summaryrefslogtreecommitdiffstats
path: root/drivers/tty/vt
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/vt')
-rw-r--r--drivers/tty/vt/vt.c9
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
628static 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);