isdn: Remove ASYNC_CLOSING
authorPeter Hurley <peter@hurleysoftware.com>
Sun, 10 Jan 2016 22:51:39 +0000 (14:51 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jan 2016 22:19:12 +0000 (14:19 -0800)
The tty core no longer provides ASYNC_CLOSING. Use private flag for
same purpose, which is to disable AT-emulator output (why this is
necessary is not clear).

Cc: Karsten Keil <isdn@linux-pingi.de>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/isdn/i4l/isdn_tty.c
include/linux/isdn.h

index 2175225..947d5c9 100644 (file)
@@ -1572,7 +1572,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
 #endif
                return;
        }
-       port->flags |= ASYNC_CLOSING;
+       info->closing = 1;
 
        tty->closing = 1;
        /*
@@ -1603,6 +1603,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
        info->ncarrier = 0;
 
        tty_port_close_end(port, tty);
+       info->closing = 0;
 #ifdef ISDN_DEBUG_MODEM_OPEN
        printk(KERN_DEBUG "isdn_tty_close normal exit\n");
 #endif
@@ -2236,7 +2237,7 @@ isdn_tty_at_cout(char *msg, modem_info *info)
        l = strlen(msg);
 
        spin_lock_irqsave(&info->readlock, flags);
-       if (port->flags & ASYNC_CLOSING) {
+       if (info->closing) {
                spin_unlock_irqrestore(&info->readlock, flags);
                return;
        }
@@ -2386,13 +2387,12 @@ isdn_tty_modem_result(int code, modem_info *info)
        case RESULT_NO_CARRIER:
 #ifdef ISDN_DEBUG_MODEM_HUP
                printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
-                      (info->port.flags & ASYNC_CLOSING),
-                      (!info->port.tty));
+                      info->closing, !info->port.tty);
 #endif
                m->mdmreg[REG_RINGCNT] = 0;
                del_timer(&info->nc_timer);
                info->ncarrier = 0;
-               if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
+               if (info->closing || !info->port.tty)
                        return;
 
 #ifdef CONFIG_ISDN_AUDIO
@@ -2525,7 +2525,7 @@ isdn_tty_modem_result(int code, modem_info *info)
                }
        }
        if (code == RESULT_NO_CARRIER) {
-               if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
+               if (info->closing || (!info->port.tty))
                        return;
 
                if (info->port.flags & ASYNC_CHECK_CD)
index 1e9a0f2..df97c84 100644 (file)
@@ -319,6 +319,7 @@ typedef struct modem_info {
   int                   online;          /* 1 = B-Channel is up, drop data */
                                         /* 2 = B-Channel is up, deliver d.*/
   int                   dialing;         /* Dial in progress or ATA        */
+  int                   closing;
   int                   rcvsched;        /* Receive needs schedule         */
   int                   isdn_driver;    /* Index to isdn-driver           */
   int                   isdn_channel;    /* Index to isdn-channel          */