From: Alan Cox Date: Fri, 8 Feb 2008 23:00:48 +0000 (-0800) Subject: x25_asy: Fix ref count rule violation X-Git-Tag: v2.6.25-rc1~35 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=11b0cc3a4af65413ca3bb5698769e091486e0b22;p=linux-2.6 x25_asy: Fix ref count rule violation x25_asy does not take an ldisc reference before calling the flush method. Fix it to use the helper function we provide. Signed-off-by: Alan Cox Cc: Krzysztof Halasa Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/net/wan/x25_asy.c b/drivers/net/wan/x25_asy.c index 1e89d4de1b..5e2d763c6b 100644 --- a/drivers/net/wan/x25_asy.c +++ b/drivers/net/wan/x25_asy.c @@ -554,6 +554,7 @@ static void x25_asy_receive_buf(struct tty_struct *tty, const unsigned char *cp, static int x25_asy_open_tty(struct tty_struct *tty) { struct x25_asy *sl = (struct x25_asy *) tty->disc_data; + struct tty_ldisc *ld; int err; /* First make sure we're not already connected. */ @@ -572,9 +573,7 @@ static int x25_asy_open_tty(struct tty_struct *tty) if (tty->driver->flush_buffer) { tty->driver->flush_buffer(tty); } - if (tty->ldisc.flush_buffer) { - tty->ldisc.flush_buffer(tty); - } + tty_ldisc_flush(tty); /* Restore default settings */ sl->dev->type = ARPHRD_X25;