summaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/chan_kern.c
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2013-03-11 10:05:45 +0100
committerRichard Weinberger <richard@nod.at>2013-03-11 10:08:04 +0100
commit2116bda6ad937d7acb6e2316fd9e65ad6ca01d42 (patch)
treedc9b20f4bc76b335e8a395b4248f50ac2d3935dc /arch/um/drivers/chan_kern.c
parentum: Use tty_port_operations->destruct (diff)
downloadlinux-2116bda6ad937d7acb6e2316fd9e65ad6ca01d42.tar.xz
linux-2116bda6ad937d7acb6e2316fd9e65ad6ca01d42.zip
um: Use tty_port in SIGWINCH handler
The tty below tty_port might get destroyed by the tty layer while we hold a reference to it. So we have to carry tty_port around... Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/drivers/chan_kern.c')
-rw-r--r--arch/um/drivers/chan_kern.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index 15c553c239a1..80b47cb71e0a 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -122,10 +122,10 @@ static int open_chan(struct list_head *chans)
return err;
}
-void chan_enable_winch(struct chan *chan, struct tty_struct *tty)
+void chan_enable_winch(struct chan *chan, struct tty_port *port)
{
if (chan && chan->primary && chan->ops->winch)
- register_winch(chan->fd, tty);
+ register_winch(chan->fd, port);
}
static void line_timer_cb(struct work_struct *work)