aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/vt/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/vt/keyboard.c')
-rw-r--r--drivers/tty/vt/keyboard.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index 681765baef69..a9af1b9ae160 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -307,26 +307,17 @@ int kbd_rate(struct kbd_repeat *rep)
307 */ 307 */
308static void put_queue(struct vc_data *vc, int ch) 308static void put_queue(struct vc_data *vc, int ch)
309{ 309{
310 struct tty_struct *tty = vc->port.tty; 310 tty_insert_flip_char(&vc->port, ch, 0);
311 311 tty_schedule_flip(&vc->port);
312 if (tty) {
313 tty_insert_flip_char(tty, ch, 0);
314 tty_schedule_flip(tty);
315 }
316} 312}
317 313
318static void puts_queue(struct vc_data *vc, char *cp) 314static void puts_queue(struct vc_data *vc, char *cp)
319{ 315{
320 struct tty_struct *tty = vc->port.tty;
321
322 if (!tty)
323 return;
324
325 while (*cp) { 316 while (*cp) {
326 tty_insert_flip_char(tty, *cp, 0); 317 tty_insert_flip_char(&vc->port, *cp, 0);
327 cp++; 318 cp++;
328 } 319 }
329 tty_schedule_flip(tty); 320 tty_schedule_flip(&vc->port);
330} 321}
331 322
332static void applkey(struct vc_data *vc, int key, char mode) 323static void applkey(struct vc_data *vc, int key, char mode)
@@ -582,12 +573,8 @@ static void fn_inc_console(struct vc_data *vc)
582 573
583static void fn_send_intr(struct vc_data *vc) 574static void fn_send_intr(struct vc_data *vc)
584{ 575{
585 struct tty_struct *tty = vc->port.tty; 576 tty_insert_flip_char(&vc->port, 0, TTY_BREAK);
586 577 tty_schedule_flip(&vc->port);
587 if (!tty)
588 return;
589 tty_insert_flip_char(tty, 0, TTY_BREAK);
590 tty_schedule_flip(tty);
591} 578}
592 579
593static void fn_scroll_forw(struct vc_data *vc) 580static void fn_scroll_forw(struct vc_data *vc)