aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/um/drivers/line.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 8035145f043b..62087028a9ce 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -632,6 +632,7 @@ static irqreturn_t winch_interrupt(int irq, void *data)
632 int fd = winch->fd; 632 int fd = winch->fd;
633 int err; 633 int err;
634 char c; 634 char c;
635 struct pid *pgrp;
635 636
636 if (fd != -1) { 637 if (fd != -1) {
637 err = generic_read(fd, &c, NULL); 638 err = generic_read(fd, &c, NULL);
@@ -657,7 +658,10 @@ static irqreturn_t winch_interrupt(int irq, void *data)
657 if (line != NULL) { 658 if (line != NULL) {
658 chan_window_size(line, &tty->winsize.ws_row, 659 chan_window_size(line, &tty->winsize.ws_row,
659 &tty->winsize.ws_col); 660 &tty->winsize.ws_col);
660 kill_pgrp(tty->pgrp, SIGWINCH, 1); 661 pgrp = tty_get_pgrp(tty);
662 if (pgrp)
663 kill_pgrp(pgrp, SIGWINCH, 1);
664 put_pid(pgrp);
661 } 665 }
662 tty_kref_put(tty); 666 tty_kref_put(tty);
663 } 667 }