isdn: Remove ASYNC_CLOSING
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>
This commit is contained in:
parent
cd7b4b3944
commit
a657eecd02
2 changed files with 7 additions and 6 deletions
|
@ -1572,7 +1572,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
port->flags |= ASYNC_CLOSING;
|
info->closing = 1;
|
||||||
|
|
||||||
tty->closing = 1;
|
tty->closing = 1;
|
||||||
/*
|
/*
|
||||||
|
@ -1603,6 +1603,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
|
||||||
info->ncarrier = 0;
|
info->ncarrier = 0;
|
||||||
|
|
||||||
tty_port_close_end(port, tty);
|
tty_port_close_end(port, tty);
|
||||||
|
info->closing = 0;
|
||||||
#ifdef ISDN_DEBUG_MODEM_OPEN
|
#ifdef ISDN_DEBUG_MODEM_OPEN
|
||||||
printk(KERN_DEBUG "isdn_tty_close normal exit\n");
|
printk(KERN_DEBUG "isdn_tty_close normal exit\n");
|
||||||
#endif
|
#endif
|
||||||
|
@ -2236,7 +2237,7 @@ isdn_tty_at_cout(char *msg, modem_info *info)
|
||||||
l = strlen(msg);
|
l = strlen(msg);
|
||||||
|
|
||||||
spin_lock_irqsave(&info->readlock, flags);
|
spin_lock_irqsave(&info->readlock, flags);
|
||||||
if (port->flags & ASYNC_CLOSING) {
|
if (info->closing) {
|
||||||
spin_unlock_irqrestore(&info->readlock, flags);
|
spin_unlock_irqrestore(&info->readlock, flags);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -2386,13 +2387,12 @@ isdn_tty_modem_result(int code, modem_info *info)
|
||||||
case RESULT_NO_CARRIER:
|
case RESULT_NO_CARRIER:
|
||||||
#ifdef ISDN_DEBUG_MODEM_HUP
|
#ifdef ISDN_DEBUG_MODEM_HUP
|
||||||
printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
|
printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
|
||||||
(info->port.flags & ASYNC_CLOSING),
|
info->closing, !info->port.tty);
|
||||||
(!info->port.tty));
|
|
||||||
#endif
|
#endif
|
||||||
m->mdmreg[REG_RINGCNT] = 0;
|
m->mdmreg[REG_RINGCNT] = 0;
|
||||||
del_timer(&info->nc_timer);
|
del_timer(&info->nc_timer);
|
||||||
info->ncarrier = 0;
|
info->ncarrier = 0;
|
||||||
if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
|
if (info->closing || !info->port.tty)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef CONFIG_ISDN_AUDIO
|
#ifdef CONFIG_ISDN_AUDIO
|
||||||
|
@ -2525,7 +2525,7 @@ isdn_tty_modem_result(int code, modem_info *info)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (code == RESULT_NO_CARRIER) {
|
if (code == RESULT_NO_CARRIER) {
|
||||||
if ((info->port.flags & ASYNC_CLOSING) || (!info->port.tty))
|
if (info->closing || (!info->port.tty))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (info->port.flags & ASYNC_CHECK_CD)
|
if (info->port.flags & ASYNC_CHECK_CD)
|
||||||
|
|
|
@ -319,6 +319,7 @@ typedef struct modem_info {
|
||||||
int online; /* 1 = B-Channel is up, drop data */
|
int online; /* 1 = B-Channel is up, drop data */
|
||||||
/* 2 = B-Channel is up, deliver d.*/
|
/* 2 = B-Channel is up, deliver d.*/
|
||||||
int dialing; /* Dial in progress or ATA */
|
int dialing; /* Dial in progress or ATA */
|
||||||
|
int closing;
|
||||||
int rcvsched; /* Receive needs schedule */
|
int rcvsched; /* Receive needs schedule */
|
||||||
int isdn_driver; /* Index to isdn-driver */
|
int isdn_driver; /* Index to isdn-driver */
|
||||||
int isdn_channel; /* Index to isdn-channel */
|
int isdn_channel; /* Index to isdn-channel */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue