--- drivers/char/tty_io_orig.c 2008-10-06 11:03:39.000000000 +0200 +++ drivers/char/tty_io.c 2008-10-06 11:20:54.000000000 +0200 @@ -3021,6 +3021,9 @@ static int tiocswinsz(struct tty_struct rpgrp = get_pid(real_tty->pgrp); spin_unlock_irqrestore(&tty->ctrl_lock, flags); + tty->winsize = tmp_ws; + real_tty->winsize = tmp_ws; + if (pgrp) kill_pgrp(pgrp, SIGWINCH, 1); if (rpgrp != pgrp && rpgrp) @@ -3028,9 +3031,6 @@ static int tiocswinsz(struct tty_struct put_pid(pgrp); put_pid(rpgrp); - - tty->winsize = tmp_ws; - real_tty->winsize = tmp_ws; done: mutex_unlock(&tty->termios_mutex); return 0;