summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2010-01-04 16:26:50 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2010-01-20 23:03:27 (GMT)
commiteeec32a731631a9bad9abb21c626b9f2840bee0d (patch)
treed78bedd82f6bf135d02c3459c443e1f4db9bb2b4
parent3f00171125384b46e5088b7d7a5d0b3e6972f1ee (diff)
downloadlinux-eeec32a731631a9bad9abb21c626b9f2840bee0d.tar.xz
nozomi: quick fix for the close/close bug
Nozomi goes wrong if you get the sequence open open close [stuff] close which turns out to occur on some ppp type setups. This is a quick patch up for the problem. It's not really fixing Nozomi which completely fails to implement tty open/close semantics and all the other needed stuff. Doing it right is a rather more invasive patch set and not one that will backport. Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/char/nozomi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/nozomi.c b/drivers/char/nozomi.c
index 7d73cd4..2ad7d37 100644
--- a/drivers/char/nozomi.c
+++ b/drivers/char/nozomi.c
@@ -1651,10 +1651,10 @@ static void ntty_close(struct tty_struct *tty, struct file *file)
dc->open_ttys--;
port->count--;
- tty_port_tty_set(port, NULL);
if (port->count == 0) {
DBG1("close: %d", nport->token_dl);
+ tty_port_tty_set(port, NULL);
spin_lock_irqsave(&dc->spin_mutex, flags);
dc->last_ier &= ~(nport->token_dl);
writew(dc->last_ier, dc->reg_ier);