x25_asy: Fix ref count rule violation
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 8 Feb 2008 23:00:48 +0000 (15:00 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 8 Feb 2008 23:33:33 +0000 (15:33 -0800)
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 <alan@redhat.com>
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/net/wan/x25_asy.c

index 1e89d4de1bb7de00299dab3d4c2792b573ab87f8..5e2d763c6b5fb9252c6648da00ce85ba6829d626 100644 (file)
@@ -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;