Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[linux-2.6.git] / drivers / isdn / i4l / isdn_tty.c
index ac48401..3831abd 100644 (file)
@@ -61,7 +61,7 @@ char *isdn_tty_revision = "$Revision: 1.1.2.3 $";
  *      isdn_tty_readmodem().
  */
 static int
-isdn_tty_try_read(modem_info * info, struct sk_buff *skb)
+isdn_tty_try_read(modem_info *info, struct sk_buff *skb)
 {
        int c;
        int len;
@@ -93,7 +93,7 @@ isdn_tty_try_read(modem_info * info, struct sk_buff *skb)
                                                last = *dp;
                                        } else {
 #endif
-                                               if(len > 1)
+                                               if (len > 1)
                                                        tty_insert_flip_string(tty, skb->data, len - 1);
                                                last = skb->data[len - 1];
 #ifdef CONFIG_ISDN_AUDIO
@@ -179,7 +179,7 @@ isdn_tty_rcv_skb(int i, int di, int channel, struct sk_buff *skb)
        info = &dev->mdm.info[midx];
 #ifdef CONFIG_ISDN_AUDIO
        ifmt = 1;
-       
+
        if ((info->vonline) && (!info->emu.vpar[4]))
                isdn_audio_calc_dtmf(info, skb->data, skb->len, ifmt);
        if ((info->vonline & 1) && (info->emu.vpar[1]))
@@ -213,29 +213,29 @@ isdn_tty_rcv_skb(int i, int di, int channel, struct sk_buff *skb)
        if (info->vonline & 1) {
                /* voice conversion/compression */
                switch (info->emu.vpar[3]) {
-                       case 2:
-                       case 3:
-                       case 4:
-                               /* adpcm
-                                * Since compressed data takes less
-                                * space, we can overwrite the buffer.
-                                */
-                               skb_trim(skb, isdn_audio_xlaw2adpcm(info->adpcmr,
-                                                                   ifmt,
-                                                                   skb->data,
-                                                                   skb->data,
-                                                                   skb->len));
-                               break;
-                       case 5:
-                               /* a-law */
-                               if (!ifmt)
-                                       isdn_audio_ulaw2alaw(skb->data, skb->len);
-                               break;
-                       case 6:
-                               /* u-law */
-                               if (ifmt)
-                                       isdn_audio_alaw2ulaw(skb->data, skb->len);
-                               break;
+               case 2:
+               case 3:
+               case 4:
+                       /* adpcm
+                        * Since compressed data takes less
+                        * space, we can overwrite the buffer.
+                        */
+                       skb_trim(skb, isdn_audio_xlaw2adpcm(info->adpcmr,
+                                                           ifmt,
+                                                           skb->data,
+                                                           skb->data,
+                                                           skb->len));
+                       break;
+               case 5:
+                       /* a-law */
+                       if (!ifmt)
+                               isdn_audio_ulaw2alaw(skb->data, skb->len);
+                       break;
+               case 6:
+                       /* u-law */
+                       if (ifmt)
+                               isdn_audio_alaw2ulaw(skb->data, skb->len);
+                       break;
                }
                ISDN_AUDIO_SKB_DLECOUNT(skb) =
                        isdn_tty_countDLE(skb->data, skb->len);
@@ -275,7 +275,7 @@ isdn_tty_rcv_skb(int i, int di, int channel, struct sk_buff *skb)
 }
 
 static void
-isdn_tty_cleanup_xmit(modem_info * info)
+isdn_tty_cleanup_xmit(modem_info *info)
 {
        skb_queue_purge(&info->xmit_queue);
 #ifdef CONFIG_ISDN_AUDIO
@@ -284,7 +284,7 @@ isdn_tty_cleanup_xmit(modem_info * info)
 }
 
 static void
-isdn_tty_tint(modem_info * info)
+isdn_tty_tint(modem_info *info)
 {
        struct sk_buff *skb = skb_dequeue(&info->xmit_queue);
        int len, slen;
@@ -325,7 +325,7 @@ isdn_tty_countDLE(unsigned char *buf, int len)
  * DLE-decoding when sending audio-data.
  */
 static int
-isdn_tty_handleDLEdown(modem_info * info, atemu * m, int len)
+isdn_tty_handleDLEdown(modem_info *info, atemu *m, int len)
 {
        unsigned char *p = &info->xmit_buf[info->xmit_count];
        int count = 0;
@@ -334,42 +334,42 @@ isdn_tty_handleDLEdown(modem_info * info, atemu * m, int len)
                if (m->lastDLE) {
                        m->lastDLE = 0;
                        switch (*p) {
-                               case DLE:
-                                       /* Escape code */
-                                       if (len > 1)
-                                               memmove(p, p + 1, len - 1);
-                                       p--;
-                                       count++;
-                                       break;
-                               case ETX:
-                                       /* End of data */
-                                       info->vonline |= 4;
-                                       return count;
-                               case DC4:
-                                       /* Abort RX */
-                                       info->vonline &= ~1;
+                       case DLE:
+                               /* Escape code */
+                               if (len > 1)
+                                       memmove(p, p + 1, len - 1);
+                               p--;
+                               count++;
+                               break;
+                       case ETX:
+                               /* End of data */
+                               info->vonline |= 4;
+                               return count;
+                       case DC4:
+                               /* Abort RX */
+                               info->vonline &= ~1;
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                                       printk(KERN_DEBUG
-                                              "DLEdown: got DLE-DC4, send DLE-ETX on ttyI%d\n",
-                                              info->line);
+                               printk(KERN_DEBUG
+                                      "DLEdown: got DLE-DC4, send DLE-ETX on ttyI%d\n",
+                                      info->line);
 #endif
-                                       isdn_tty_at_cout("\020\003", info);
-                                       if (!info->vonline) {
+                               isdn_tty_at_cout("\020\003", info);
+                               if (!info->vonline) {
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                                               printk(KERN_DEBUG
-                                                      "DLEdown: send VCON on ttyI%d\n",
-                                                      info->line);
+                                       printk(KERN_DEBUG
+                                              "DLEdown: send VCON on ttyI%d\n",
+                                              info->line);
 #endif
-                                               isdn_tty_at_cout("\r\nVCON\r\n", info);
-                                       }
-                                       /* Fall through */
-                               case 'q':
-                               case 's':
-                                       /* Silence */
-                                       if (len > 1)
-                                               memmove(p, p + 1, len - 1);
-                                       p--;
-                                       break;
+                                       isdn_tty_at_cout("\r\nVCON\r\n", info);
+                               }
+                               /* Fall through */
+                       case 'q':
+                       case 's':
+                               /* Silence */
+                               if (len > 1)
+                                       memmove(p, p + 1, len - 1);
+                               p--;
+                               break;
                        }
                } else {
                        if (*p == DLE)
@@ -416,7 +416,7 @@ static int voice_cf[7] =
  * T.70 if necessary, and finally queues it up for sending via isdn_tty_tint.
  */
 static void
-isdn_tty_senddown(modem_info * info)
+isdn_tty_senddown(modem_info *info)
 {
        int buflen;
        int skb_res;
@@ -440,9 +440,9 @@ isdn_tty_senddown(modem_info * info)
 #endif
        if (!(buflen = info->xmit_count))
                return;
-       if ((info->emu.mdmreg[REG_CTS] & BIT_CTS) != 0)
+       if ((info->emu.mdmreg[REG_CTS] & BIT_CTS) != 0)
                info->msr &= ~UART_MSR_CTS;
-       info->lsr &= ~UART_LSR_TEMT;    
+       info->lsr &= ~UART_LSR_TEMT;
        /* info->xmit_count is modified here and in isdn_tty_write().
         * So we return here if isdn_tty_write() is in the
         * critical section.
@@ -485,32 +485,32 @@ isdn_tty_senddown(modem_info * info)
 
                /* voice conversion/decompression */
                switch (info->emu.vpar[3]) {
-                       case 2:
-                       case 3:
-                       case 4:
-                               /* adpcm, compatible to ZyXel 1496 modem
-                                * with ROM revision 6.01
-                                */
-                               audio_len = isdn_audio_adpcm2xlaw(info->adpcms,
-                                                                 ifmt,
-                                                                 skb->data,
-                                                   skb_put(skb, audio_len),
-                                                                 buflen);
-                               skb_pull(skb, buflen);
-                               skb_trim(skb, audio_len);
-                               break;
-                       case 5:
-                               /* a-law */
-                               if (!ifmt)
-                                       isdn_audio_alaw2ulaw(skb->data,
-                                                            buflen);
-                               break;
-                       case 6:
-                               /* u-law */
-                               if (ifmt)
-                                       isdn_audio_ulaw2alaw(skb->data,
-                                                            buflen);
-                               break;
+               case 2:
+               case 3:
+               case 4:
+                       /* adpcm, compatible to ZyXel 1496 modem
+                        * with ROM revision 6.01
+                        */
+                       audio_len = isdn_audio_adpcm2xlaw(info->adpcms,
+                                                         ifmt,
+                                                         skb->data,
+                                                         skb_put(skb, audio_len),
+                                                         buflen);
+                       skb_pull(skb, buflen);
+                       skb_trim(skb, audio_len);
+                       break;
+               case 5:
+                       /* a-law */
+                       if (!ifmt)
+                               isdn_audio_alaw2ulaw(skb->data,
+                                                    buflen);
+                       break;
+               case 6:
+                       /* u-law */
+                       if (ifmt)
+                               isdn_audio_ulaw2alaw(skb->data,
+                                                    buflen);
+                       break;
                }
        }
 #endif                          /* CONFIG_ISDN_AUDIO */
@@ -550,7 +550,7 @@ isdn_tty_modem_do_ncarrier(unsigned long data)
  * low.
  */
 static void
-isdn_tty_modem_ncarrier(modem_info * info)
+isdn_tty_modem_ncarrier(modem_info *info)
 {
        if (info->ncarrier) {
                info->nc_timer.expires = jiffies + HZ;
@@ -568,30 +568,30 @@ isdn_calc_usage(int si, int l2)
 
 #ifdef CONFIG_ISDN_AUDIO
        if (si == 1) {
-               switch(l2) {
-                       case ISDN_PROTO_L2_MODEM: 
-                               usg = ISDN_USAGE_MODEM;
-                               break;
+               switch (l2) {
+               case ISDN_PROTO_L2_MODEM:
+                       usg = ISDN_USAGE_MODEM;
+                       break;
 #ifdef CONFIG_ISDN_TTY_FAX
-                       case ISDN_PROTO_L2_FAX: 
-                               usg = ISDN_USAGE_FAX;
-                               break;
+               case ISDN_PROTO_L2_FAX:
+                       usg = ISDN_USAGE_FAX;
+                       break;
 #endif
-                       case ISDN_PROTO_L2_TRANS: 
-                       default:
-                               usg = ISDN_USAGE_VOICE;
-                               break;
+               case ISDN_PROTO_L2_TRANS:
+               default:
+                       usg = ISDN_USAGE_VOICE;
+                       break;
                }
        }
 #endif
-       return(usg);
+       return (usg);
 }
 
 /* isdn_tty_dial() performs dialing of a tty an the necessary
  * setup of the lower levels before that.
  */
 static void
-isdn_tty_dial(char *n, modem_info * info, atemu * m)
+isdn_tty_dial(char *n, modem_info *info, atemu *m)
 {
        int usg = ISDN_USAGE_MODEM;
        int si = 7;
@@ -608,10 +608,10 @@ isdn_tty_dial(char *n, modem_info * info, atemu * m)
                }
        usg = isdn_calc_usage(si, l2);
 #ifdef CONFIG_ISDN_AUDIO
-       if ((si == 1) && 
-               (l2 != ISDN_PROTO_L2_MODEM)
+       if ((si == 1) &&
+           (l2 != ISDN_PROTO_L2_MODEM)
 #ifdef CONFIG_ISDN_TTY_FAX
-               && (l2 != ISDN_PROTO_L2_FAX)
+           && (l2 != ISDN_PROTO_L2_FAX)
 #endif
                ) {
                l2 = ISDN_PROTO_L2_TRANS;
@@ -679,7 +679,7 @@ isdn_tty_dial(char *n, modem_info * info, atemu * m)
  * and some cleanup is done also.
  */
 void
-isdn_tty_modem_hup(modem_info * info, int local)
+isdn_tty_modem_hup(modem_info *info, int local)
 {
        isdn_ctrl cmd;
        int di, ch;
@@ -723,7 +723,7 @@ isdn_tty_modem_hup(modem_info * info, int local)
        info->adpcmr = NULL;
 #endif
        if ((info->msr & UART_MSR_RI) &&
-               (info->emu.mdmreg[REG_RUNG] & BIT_RUNG))
+           (info->emu.mdmreg[REG_RUNG] & BIT_RUNG))
                isdn_tty_modem_result(RESULT_RUNG, info);
        info->msr &= ~(UART_MSR_DCD | UART_MSR_RI);
        info->lsr |= UART_LSR_TEMT;
@@ -746,7 +746,7 @@ isdn_tty_modem_hup(modem_info * info, int local)
 }
 
 /*
- * Begin of a CAPI like interface, currently used only for 
+ * Begin of a CAPI like interface, currently used only for
  * supplementary service (CAPI 2.0 part III)
  */
 #include <linux/isdn/capicmd.h>
@@ -754,16 +754,16 @@ isdn_tty_modem_hup(modem_info * info, int local)
 
 int
 isdn_tty_capi_facility(capi_msg *cm) {
-       return(-1); /* dummy */
+       return (-1); /* dummy */
 }
 
 /* isdn_tty_suspend() tries to suspend the current tty connection
  */
 static void
-isdn_tty_suspend(char *id, modem_info * info, atemu * m)
+isdn_tty_suspend(char *id, modem_info *info, atemu *m)
 {
        isdn_ctrl cmd;
-       
+
        int l;
 
        if (!info)
@@ -774,7 +774,7 @@ isdn_tty_suspend(char *id, modem_info * info, atemu * m)
 #endif
        l = strlen(id);
        if ((info->isdn_driver >= 0)) {
-               cmd.parm.cmsg.Length = l+18;
+               cmd.parm.cmsg.Length = l + 18;
                cmd.parm.cmsg.Command = CAPI_FACILITY;
                cmd.parm.cmsg.Subcommand = CAPI_REQ;
                cmd.parm.cmsg.adr.Controller = info->isdn_driver + 1;
@@ -800,7 +800,7 @@ isdn_tty_suspend(char *id, modem_info * info, atemu * m)
  */
 
 static void
-isdn_tty_resume(char *id, modem_info * info, atemu * m)
+isdn_tty_resume(char *id, modem_info *info, atemu *m)
 {
        int usg = ISDN_USAGE_MODEM;
        int si = 7;
@@ -819,10 +819,10 @@ isdn_tty_resume(char *id, modem_info * info, atemu * m)
                }
        usg = isdn_calc_usage(si, l2);
 #ifdef CONFIG_ISDN_AUDIO
-       if ((si == 1) && 
-               (l2 != ISDN_PROTO_L2_MODEM)
+       if ((si == 1) &&
+           (l2 != ISDN_PROTO_L2_MODEM)
 #ifdef CONFIG_ISDN_TTY_FAX
-               && (l2 != ISDN_PROTO_L2_FAX)
+           && (l2 != ISDN_PROTO_L2_FAX)
 #endif
                ) {
                l2 = ISDN_PROTO_L2_TRANS;
@@ -864,18 +864,18 @@ isdn_tty_resume(char *id, modem_info * info, atemu * m)
                isdn_command(&cmd);
                cmd.driver = info->isdn_driver;
                cmd.arg = info->isdn_channel;
-               cmd.parm.cmsg.Length = l+18;
+               cmd.parm.cmsg.Length = l + 18;
                cmd.parm.cmsg.Command = CAPI_FACILITY;
                cmd.parm.cmsg.Subcommand = CAPI_REQ;
                cmd.parm.cmsg.adr.Controller = info->isdn_driver + 1;
                cmd.parm.cmsg.para[0] = 3; /* 16 bit 0x0003 suplementary service */
                cmd.parm.cmsg.para[1] = 0;
-               cmd.parm.cmsg.para[2] = l+3;
+               cmd.parm.cmsg.para[2] = l + 3;
                cmd.parm.cmsg.para[3] = 5; /* 16 bit 0x0005 Resume */
                cmd.parm.cmsg.para[4] = 0;
                cmd.parm.cmsg.para[5] = l;
                strncpy(&cmd.parm.cmsg.para[6], id, l);
-               cmd.command =CAPI_PUT_MESSAGE;
+               cmd.command = CAPI_PUT_MESSAGE;
                info->dialing = 1;
 //             strcpy(dev->num[i], n);
                isdn_info_update();
@@ -889,7 +889,7 @@ isdn_tty_resume(char *id, modem_info * info, atemu * m)
  */
 
 static void
-isdn_tty_send_msg(modem_info * info, atemu * m, char *msg)
+isdn_tty_send_msg(modem_info *info, atemu *m, char *msg)
 {
        int usg = ISDN_USAGE_MODEM;
        int si = 7;
@@ -912,10 +912,10 @@ isdn_tty_send_msg(modem_info * info, atemu * m, char *msg)
                }
        usg = isdn_calc_usage(si, l2);
 #ifdef CONFIG_ISDN_AUDIO
-       if ((si == 1) && 
-               (l2 != ISDN_PROTO_L2_MODEM)
+       if ((si == 1) &&
+           (l2 != ISDN_PROTO_L2_MODEM)
 #ifdef CONFIG_ISDN_TTY_FAX
-               && (l2 != ISDN_PROTO_L2_FAX)
+           && (l2 != ISDN_PROTO_L2_FAX)
 #endif
                ) {
                l2 = ISDN_PROTO_L2_TRANS;
@@ -956,14 +956,14 @@ isdn_tty_send_msg(modem_info * info, atemu * m, char *msg)
                isdn_command(&cmd);
                cmd.driver = info->isdn_driver;
                cmd.arg = info->isdn_channel;
-               cmd.parm.cmsg.Length = l+14;
+               cmd.parm.cmsg.Length = l + 14;
                cmd.parm.cmsg.Command = CAPI_MANUFACTURER;
                cmd.parm.cmsg.Subcommand = CAPI_REQ;
                cmd.parm.cmsg.adr.Controller = info->isdn_driver + 1;
-               cmd.parm.cmsg.para[0] = l+1;
+               cmd.parm.cmsg.para[0] = l + 1;
                strncpy(&cmd.parm.cmsg.para[1], msg, l);
-               cmd.parm.cmsg.para[l+1] = 0xd;
-               cmd.command =CAPI_PUT_MESSAGE;
+               cmd.parm.cmsg.para[l + 1] = 0xd;
+               cmd.command = CAPI_PUT_MESSAGE;
 /*             info->dialing = 1;
                strcpy(dev->num[i], n);
                isdn_info_update();
@@ -978,7 +978,7 @@ isdn_tty_paranoia_check(modem_info *info, char *name, const char *routine)
 #ifdef MODEM_PARANOIA_CHECK
        if (!info) {
                printk(KERN_WARNING "isdn_tty: null info_struct for %s in %s\n",
-                       name, routine);
+                      name, routine);
                return 1;
        }
        if (info->magic != ISDN_ASYNC_MAGIC) {
@@ -995,11 +995,11 @@ isdn_tty_paranoia_check(modem_info *info, char *name, const char *routine)
  * the specified baud rate for a serial port.
  */
 static void
-isdn_tty_change_speed(modem_info * info)
+isdn_tty_change_speed(modem_info *info)
 {
        uint cflag,
-        cval,
-        quot;
+               cval,
+               quot;
        int i;
 
        if (!info->tty || !info->tty->termios)
@@ -1051,7 +1051,7 @@ isdn_tty_change_speed(modem_info * info)
 }
 
 static int
-isdn_tty_startup(modem_info * info)
+isdn_tty_startup(modem_info *info)
 {
        if (info->flags & ISDN_ASYNC_INITIALIZED)
                return 0;
@@ -1081,7 +1081,7 @@ isdn_tty_startup(modem_info * info)
  * DTR is dropped if the hangup on close termio flag is on.
  */
 static void
-isdn_tty_shutdown(modem_info * info)
+isdn_tty_shutdown(modem_info *info)
 {
        if (!(info->flags & ISDN_ASYNC_INITIALIZED))
                return;
@@ -1116,7 +1116,7 @@ isdn_tty_shutdown(modem_info * info)
  *  - If dialing, abort dial.
  */
 static int
-isdn_tty_write(struct tty_struct *tty, const u_char * buf, int count)
+isdn_tty_write(struct tty_struct *tty, const u_char *buf, int count)
 {
        int c;
        int total = 0;
@@ -1176,27 +1176,27 @@ isdn_tty_write(struct tty_struct *tty, const u_char * buf, int count)
                                        }
                                }
                        } else
-                       if (TTY_IS_FCLASS1(info)) {
-                               int cc = isdn_tty_handleDLEdown(info, m, c);
-                               
-                               if (info->vonline & 4) { /* ETX seen */
-                                       isdn_ctrl c;
-
-                                       c.command = ISDN_CMD_FAXCMD;
-                                       c.driver = info->isdn_driver;
-                                       c.arg = info->isdn_channel;
-                                       c.parm.aux.cmd = ISDN_FAX_CLASS1_CTRL;
-                                       c.parm.aux.subcmd = ETX;
-                                       isdn_command(&c);
-                               }
-                               info->vonline = 0;
+                               if (TTY_IS_FCLASS1(info)) {
+                                       int cc = isdn_tty_handleDLEdown(info, m, c);
+
+                                       if (info->vonline & 4) { /* ETX seen */
+                                               isdn_ctrl c;
+
+                                               c.command = ISDN_CMD_FAXCMD;
+                                               c.driver = info->isdn_driver;
+                                               c.arg = info->isdn_channel;
+                                               c.parm.aux.cmd = ISDN_FAX_CLASS1_CTRL;
+                                               c.parm.aux.subcmd = ETX;
+                                               isdn_command(&c);
+                                       }
+                                       info->vonline = 0;
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                               printk(KERN_DEBUG "fax dle cc/c %d/%d\n", cc, c);
+                                       printk(KERN_DEBUG "fax dle cc/c %d/%d\n", cc, c);
 #endif
-                               info->xmit_count += cc;
-                       } else
+                                       info->xmit_count += cc;
+                               } else
 #endif
-                               info->xmit_count += c;
+                                       info->xmit_count += c;
                } else {
                        info->msr |= UART_MSR_CTS;
                        info->lsr |= UART_LSR_TEMT;
@@ -1332,7 +1332,7 @@ isdn_tty_unthrottle(struct tty_struct *tty)
  *          allows RS485 driver to be written in user space.
  */
 static int
-isdn_tty_get_lsr_info(modem_info * info, uint __user * value)
+isdn_tty_get_lsr_info(modem_info *info, uint __user *value)
 {
        u_char status;
        uint result;
@@ -1363,16 +1363,16 @@ isdn_tty_tiocmget(struct tty_struct *tty)
        status = info->msr;
        mutex_unlock(&modem_info_mutex);
        return ((control & UART_MCR_RTS) ? TIOCM_RTS : 0)
-           | ((control & UART_MCR_DTR) ? TIOCM_DTR : 0)
-           | ((status & UART_MSR_DCD) ? TIOCM_CAR : 0)
-           | ((status & UART_MSR_RI) ? TIOCM_RNG : 0)
-           | ((status & UART_MSR_DSR) ? TIOCM_DSR : 0)
-           | ((status & UART_MSR_CTS) ? TIOCM_CTS : 0);
+               | ((control & UART_MCR_DTR) ? TIOCM_DTR : 0)
+               | ((status & UART_MSR_DCD) ? TIOCM_CAR : 0)
+               | ((status & UART_MSR_RI) ? TIOCM_RNG : 0)
+               | ((status & UART_MSR_DSR) ? TIOCM_DSR : 0)
+               | ((status & UART_MSR_CTS) ? TIOCM_CTS : 0);
 }
 
 static int
 isdn_tty_tiocmset(struct tty_struct *tty,
-               unsigned int set, unsigned int clear)
+                 unsigned int set, unsigned int clear)
 {
        modem_info *info = (modem_info *) tty->driver_data;
 
@@ -1422,34 +1422,34 @@ isdn_tty_ioctl(struct tty_struct *tty, uint cmd, ulong arg)
        if (tty->flags & (1 << TTY_IO_ERROR))
                return -EIO;
        switch (cmd) {
-               case TCSBRK:   /* SVID version: non-zero arg --> no break */
+       case TCSBRK:   /* SVID version: non-zero arg --> no break */
 #ifdef ISDN_DEBUG_MODEM_IOCTL
-                       printk(KERN_DEBUG "ttyI%d ioctl TCSBRK\n", info->line);
-#endif
-                       retval = tty_check_change(tty);
-                       if (retval)
-                               return retval;
-                       tty_wait_until_sent(tty, 0);
-                       return 0;
-               case TCSBRKP:  /* support for POSIX tcsendbreak() */
+               printk(KERN_DEBUG "ttyI%d ioctl TCSBRK\n", info->line);
+#endif
+               retval = tty_check_change(tty);
+               if (retval)
+                       return retval;
+               tty_wait_until_sent(tty, 0);
+               return 0;
+       case TCSBRKP:  /* support for POSIX tcsendbreak() */
 #ifdef ISDN_DEBUG_MODEM_IOCTL
-                       printk(KERN_DEBUG "ttyI%d ioctl TCSBRKP\n", info->line);
-#endif
-                       retval = tty_check_change(tty);
-                       if (retval)
-                               return retval;
-                       tty_wait_until_sent(tty, 0);
-                       return 0;
-               case TIOCSERGETLSR:     /* Get line status register */
+               printk(KERN_DEBUG "ttyI%d ioctl TCSBRKP\n", info->line);
+#endif
+               retval = tty_check_change(tty);
+               if (retval)
+                       return retval;
+               tty_wait_until_sent(tty, 0);
+               return 0;
+       case TIOCSERGETLSR:     /* Get line status register */
 #ifdef ISDN_DEBUG_MODEM_IOCTL
-                       printk(KERN_DEBUG "ttyI%d ioctl TIOCSERGETLSR\n", info->line);
+               printk(KERN_DEBUG "ttyI%d ioctl TIOCSERGETLSR\n", info->line);
 #endif
-                       return isdn_tty_get_lsr_info(info, (uint __user *) arg);
-               default:
+               return isdn_tty_get_lsr_info(info, (uint __user *) arg);
+       default:
 #ifdef ISDN_DEBUG_MODEM_IOCTL
-                       printk(KERN_DEBUG "UNKNOWN ioctl 0x%08x on ttyi%d\n", cmd, info->line);
+               printk(KERN_DEBUG "UNKNOWN ioctl 0x%08x on ttyi%d\n", cmd, info->line);
 #endif
-                       return -ENOIOCTLCMD;
+               return -ENOIOCTLCMD;
        }
        return 0;
 }
@@ -1479,7 +1479,7 @@ isdn_tty_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
  * ------------------------------------------------------------
  */
 static int
-isdn_tty_block_til_ready(struct tty_struct *tty, struct file *filp, modem_info * info)
+isdn_tty_block_til_ready(struct tty_struct *tty, struct file *filp, modem_info *info)
 {
        DECLARE_WAITQUEUE(wait, NULL);
        int do_clocal = 0;
@@ -1600,7 +1600,7 @@ isdn_tty_open(struct tty_struct *tty, struct file *filp)
                return -ENODEV;
        }
 #ifdef ISDN_DEBUG_MODEM_OPEN
-       printk(KERN_DEBUG "isdn_tty_open %s, count = %d\n", tty->name, 
+       printk(KERN_DEBUG "isdn_tty_open %s, count = %d\n", tty->name,
               info->count);
 #endif
        info->count++;
@@ -1700,7 +1700,7 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp)
                timeout = jiffies + HZ;
                while (!(info->lsr & UART_LSR_TEMT)) {
                        schedule_timeout_interruptible(20);
-                       if (time_after(jiffies,timeout))
+                       if (time_after(jiffies, timeout))
                                break;
                }
        }
@@ -1743,7 +1743,7 @@ isdn_tty_hangup(struct tty_struct *tty)
 /* This routine initializes all emulator-data.
  */
 static void
-isdn_tty_reset_profile(atemu * m)
+isdn_tty_reset_profile(atemu *m)
 {
        m->profile[0] = 0;
        m->profile[1] = 0;
@@ -1773,7 +1773,7 @@ isdn_tty_reset_profile(atemu * m)
 
 #ifdef CONFIG_ISDN_AUDIO
 static void
-isdn_tty_modem_reset_vpar(atemu * m)
+isdn_tty_modem_reset_vpar(atemu *m)
 {
        m->vpar[0] = 2;         /* Voice-device            (2 = phone line) */
        m->vpar[1] = 0;         /* Silence detection level (0 = none      ) */
@@ -1786,7 +1786,7 @@ isdn_tty_modem_reset_vpar(atemu * m)
 
 #ifdef CONFIG_ISDN_TTY_FAX
 static void
-isdn_tty_modem_reset_faxpar(modem_info * info)
+isdn_tty_modem_reset_faxpar(modem_info *info)
 {
        T30_s *f = info->fax;
 
@@ -1819,7 +1819,7 @@ isdn_tty_modem_reset_faxpar(modem_info * info)
 #endif
 
 static void
-isdn_tty_modem_reset_regs(modem_info * info, int force)
+isdn_tty_modem_reset_regs(modem_info *info, int force)
 {
        atemu *m = &info->emu;
        if ((m->mdmreg[REG_DTRR] & BIT_DTRR) || force) {
@@ -1838,7 +1838,7 @@ isdn_tty_modem_reset_regs(modem_info * info, int force)
 }
 
 static void
-modem_write_profile(atemu * m)
+modem_write_profile(atemu *m)
 {
        memcpy(m->profile, m->mdmreg, ISDN_MODEM_NUMREG);
        memcpy(m->pmsn, m->msn, ISDN_MSNLEN);
@@ -1848,7 +1848,7 @@ modem_write_profile(atemu * m)
 }
 
 static const struct tty_operations modem_ops = {
-        .open = isdn_tty_open,
+       .open = isdn_tty_open,
        .close = isdn_tty_close,
        .write = isdn_tty_write,
        .flush_chars = isdn_tty_flush_chars,
@@ -1948,7 +1948,7 @@ err_unregister:
                kfree(info->xmit_buf - 4);
        }
        tty_unregister_driver(m->tty_modem);
- err:
+err:
        put_tty_driver(m->tty_modem);
        m->tty_modem = NULL;
        return retval;
@@ -2018,8 +2018,8 @@ isdn_tty_match_icall(char *cid, atemu *emu, int di)
                int tmp;
                tmp = isdn_msncmp(cid, isdn_map_eaz2msn(emu->msn, di));
 #ifdef ISDN_DEBUG_MODEM_ICALL
-                       printk(KERN_DEBUG "m_fi: mmsn=%s -> tmp=%d\n",
-                              isdn_map_eaz2msn(emu->msn, di), tmp);
+               printk(KERN_DEBUG "m_fi: mmsn=%s -> tmp=%d\n",
+                      isdn_map_eaz2msn(emu->msn, di), tmp);
 #endif
                return tmp;
        }
@@ -2068,8 +2068,8 @@ isdn_tty_find_icall(int di, int ch, setup_parm *setup)
        for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
                modem_info *info = &dev->mdm.info[i];
 
-                if (info->count == 0)
-                    continue;
+               if (info->count == 0)
+                       continue;
                if ((info->emu.mdmreg[REG_SI1] & si2bit[si1]) &&  /* SI1 is matching */
                    (info->emu.mdmreg[REG_SI2] == si2)) {         /* SI2 is matching */
                        idx = isdn_dc2minor(di, ch);
@@ -2096,7 +2096,7 @@ isdn_tty_find_icall(int di, int ch, setup_parm *setup)
                                        info->drv_index = idx;
                                        dev->m_idx[idx] = info->line;
                                        dev->usage[idx] &= ISDN_USAGE_EXCLUSIVE;
-                                       dev->usage[idx] |= isdn_calc_usage(si1, info->emu.mdmreg[REG_L2PROT]); 
+                                       dev->usage[idx] |= isdn_calc_usage(si1, info->emu.mdmreg[REG_L2PROT]);
                                        strcpy(dev->num[idx], nr);
                                        strcpy(info->emu.cpn, eaz);
                                        info->emu.mdmreg[REG_SI1I] = si2bit[si1];
@@ -2116,11 +2116,11 @@ isdn_tty_find_icall(int di, int ch, setup_parm *setup)
        }
        spin_unlock_irqrestore(&dev->lock, flags);
        printk(KERN_INFO "isdn_tty: call from %s -> %s %s\n", nr, eaz,
-              ((dev->drv[di]->flags & DRV_FLAG_REJBUS) && (wret != 2))? "rejected" : "ignored");
-       return (wret == 2)?3:0;
+              ((dev->drv[di]->flags & DRV_FLAG_REJBUS) && (wret != 2)) ? "rejected" : "ignored");
+       return (wret == 2) ? 3 : 0;
 }
 
-#define TTY_IS_ACTIVE(info) \
+#define TTY_IS_ACTIVE(info)                                            \
        (info->flags & (ISDN_ASYNC_NORMAL_ACTIVE | ISDN_ASYNC_CALLOUT_ACTIVE))
 
 int
@@ -2135,174 +2135,174 @@ isdn_tty_stat_callback(int i, isdn_ctrl *c)
        if ((mi = dev->m_idx[i]) >= 0) {
                info = &dev->mdm.info[mi];
                switch (c->command) {
-                        case ISDN_STAT_CINF:
-                                printk(KERN_DEBUG "CHARGEINFO on ttyI%d: %ld %s\n", info->line, c->arg, c->parm.num);
-                                info->emu.charge = (unsigned) simple_strtoul(c->parm.num, &e, 10);
-                                if (e == (char *)c->parm.num)
-                                       info->emu.charge = 0;
-                               
-                                break;                 
-                       case ISDN_STAT_BSENT:
-#ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_BSENT ttyI%d\n", info->line);
-#endif
-                               if ((info->isdn_driver == c->driver) &&
-                                   (info->isdn_channel == c->arg)) {
-                                       info->msr |= UART_MSR_CTS;
-                                       if (info->send_outstanding)
-                                               if (!(--info->send_outstanding))
-                                                       info->lsr |= UART_LSR_TEMT;
-                                       isdn_tty_tint(info);
-                                       return 1;
-                               }
-                               break;
-                       case ISDN_STAT_CAUSE:
+               case ISDN_STAT_CINF:
+                       printk(KERN_DEBUG "CHARGEINFO on ttyI%d: %ld %s\n", info->line, c->arg, c->parm.num);
+                       info->emu.charge = (unsigned) simple_strtoul(c->parm.num, &e, 10);
+                       if (e == (char *)c->parm.num)
+                               info->emu.charge = 0;
+
+                       break;
+               case ISDN_STAT_BSENT:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_CAUSE ttyI%d\n", info->line);
+                       printk(KERN_DEBUG "tty_STAT_BSENT ttyI%d\n", info->line);
 #endif
-                               /* Signal cause to tty-device */
-                               strncpy(info->last_cause, c->parm.num, 5);
+                       if ((info->isdn_driver == c->driver) &&
+                           (info->isdn_channel == c->arg)) {
+                               info->msr |= UART_MSR_CTS;
+                               if (info->send_outstanding)
+                                       if (!(--info->send_outstanding))
+                                               info->lsr |= UART_LSR_TEMT;
+                               isdn_tty_tint(info);
                                return 1;
-                       case ISDN_STAT_DISPLAY:
+                       }
+                       break;
+               case ISDN_STAT_CAUSE:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_DISPLAY ttyI%d\n", info->line);
-#endif
-                               /* Signal display to tty-device */
-                               if ((info->emu.mdmreg[REG_DISPLAY] & BIT_DISPLAY) && 
-                                       !(info->emu.mdmreg[REG_RESPNUM] & BIT_RESPNUM)) {
-                                 isdn_tty_at_cout("\r\n", info);
-                                 isdn_tty_at_cout("DISPLAY: ", info);
-                                 isdn_tty_at_cout(c->parm.display, info);
-                                 isdn_tty_at_cout("\r\n", info);
-                               }
-                               return 1;
-                       case ISDN_STAT_DCONN:
+                       printk(KERN_DEBUG "tty_STAT_CAUSE ttyI%d\n", info->line);
+#endif
+                       /* Signal cause to tty-device */
+                       strncpy(info->last_cause, c->parm.num, 5);
+                       return 1;
+               case ISDN_STAT_DISPLAY:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_DCONN ttyI%d\n", info->line);
+                       printk(KERN_DEBUG "tty_STAT_DISPLAY ttyI%d\n", info->line);
 #endif
-                               if (TTY_IS_ACTIVE(info)) {
-                                       if (info->dialing == 1) {
-                                               info->dialing = 2;
-                                               return 1;
-                                       }
+                       /* Signal display to tty-device */
+                       if ((info->emu.mdmreg[REG_DISPLAY] & BIT_DISPLAY) &&
+                           !(info->emu.mdmreg[REG_RESPNUM] & BIT_RESPNUM)) {
+                               isdn_tty_at_cout("\r\n", info);
+                               isdn_tty_at_cout("DISPLAY: ", info);
+                               isdn_tty_at_cout(c->parm.display, info);
+                               isdn_tty_at_cout("\r\n", info);
+                       }
+                       return 1;
+               case ISDN_STAT_DCONN:
+#ifdef ISDN_TTY_STAT_DEBUG
+                       printk(KERN_DEBUG "tty_STAT_DCONN ttyI%d\n", info->line);
+#endif
+                       if (TTY_IS_ACTIVE(info)) {
+                               if (info->dialing == 1) {
+                                       info->dialing = 2;
+                                       return 1;
                                }
-                               break;
-                       case ISDN_STAT_DHUP:
+                       }
+                       break;
+               case ISDN_STAT_DHUP:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_DHUP ttyI%d\n", info->line);
+                       printk(KERN_DEBUG "tty_STAT_DHUP ttyI%d\n", info->line);
 #endif
-                               if (TTY_IS_ACTIVE(info)) {
-                                       if (info->dialing == 1) 
-                                               isdn_tty_modem_result(RESULT_BUSY, info);
-                                       if (info->dialing > 1) 
-                                               isdn_tty_modem_result(RESULT_NO_CARRIER, info);
-                                       info->dialing = 0;
+                       if (TTY_IS_ACTIVE(info)) {
+                               if (info->dialing == 1)
+                                       isdn_tty_modem_result(RESULT_BUSY, info);
+                               if (info->dialing > 1)
+                                       isdn_tty_modem_result(RESULT_NO_CARRIER, info);
+                               info->dialing = 0;
 #ifdef ISDN_DEBUG_MODEM_HUP
-                                       printk(KERN_DEBUG "Mhup in ISDN_STAT_DHUP\n");
+                               printk(KERN_DEBUG "Mhup in ISDN_STAT_DHUP\n");
 #endif
-                                       isdn_tty_modem_hup(info, 0);
-                                       return 1;
-                               }
-                               break;
-                       case ISDN_STAT_BCONN:
+                               isdn_tty_modem_hup(info, 0);
+                               return 1;
+                       }
+                       break;
+               case ISDN_STAT_BCONN:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_BCONN ttyI%d\n", info->line);
-#endif
-                               /* Wake up any processes waiting
-                                * for incoming call of this device when
-                                * DCD follow the state of incoming carrier
-                                */
-                               if (info->blocked_open &&
-                                  (info->emu.mdmreg[REG_DCD] & BIT_DCD)) {
-                                       wake_up_interruptible(&info->open_wait);
-                               }
+                       printk(KERN_DEBUG "tty_STAT_BCONN ttyI%d\n", info->line);
+#endif
+                       /* Wake up any processes waiting
+                        * for incoming call of this device when
+                        * DCD follow the state of incoming carrier
+                        */
+                       if (info->blocked_open &&
+                           (info->emu.mdmreg[REG_DCD] & BIT_DCD)) {
+                               wake_up_interruptible(&info->open_wait);
+                       }
 
-                               /* Schedule CONNECT-Message to any tty
-                                * waiting for it and
-                                * set DCD-bit of its modem-status.
-                                */
-                               if (TTY_IS_ACTIVE(info) ||
-                                   (info->blocked_open && (info->emu.mdmreg[REG_DCD] & BIT_DCD))) {
-                                       info->msr |= UART_MSR_DCD;
-                                       info->emu.charge = 0;
-                                       if (info->dialing & 0xf)
-                                               info->last_dir = 1;
-                                       else
-                                               info->last_dir = 0;
-                                       info->dialing = 0;
-                                       info->rcvsched = 1;
-                                       if (USG_MODEM(dev->usage[i])) {
-                                               if (info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM) {
-                                                       strcpy(info->emu.connmsg, c->parm.num);
-                                                       isdn_tty_modem_result(RESULT_CONNECT, info);
-                                               } else
-                                                       isdn_tty_modem_result(RESULT_CONNECT64000, info);
-                                       }
-                                       if (USG_VOICE(dev->usage[i]))
-                                               isdn_tty_modem_result(RESULT_VCON, info);
-                                       return 1;
+                       /* Schedule CONNECT-Message to any tty
+                        * waiting for it and
+                        * set DCD-bit of its modem-status.
+                        */
+                       if (TTY_IS_ACTIVE(info) ||
+                           (info->blocked_open && (info->emu.mdmreg[REG_DCD] & BIT_DCD))) {
+                               info->msr |= UART_MSR_DCD;
+                               info->emu.charge = 0;
+                               if (info->dialing & 0xf)
+                                       info->last_dir = 1;
+                               else
+                                       info->last_dir = 0;
+                               info->dialing = 0;
+                               info->rcvsched = 1;
+                               if (USG_MODEM(dev->usage[i])) {
+                                       if (info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM) {
+                                               strcpy(info->emu.connmsg, c->parm.num);
+                                               isdn_tty_modem_result(RESULT_CONNECT, info);
+                                       } else
+                                               isdn_tty_modem_result(RESULT_CONNECT64000, info);
                                }
-                               break;
-                       case ISDN_STAT_BHUP:
+                               if (USG_VOICE(dev->usage[i]))
+                                       isdn_tty_modem_result(RESULT_VCON, info);
+                               return 1;
+                       }
+                       break;
+               case ISDN_STAT_BHUP:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_BHUP ttyI%d\n", info->line);
+                       printk(KERN_DEBUG "tty_STAT_BHUP ttyI%d\n", info->line);
 #endif
-                               if (TTY_IS_ACTIVE(info)) {
+                       if (TTY_IS_ACTIVE(info)) {
 #ifdef ISDN_DEBUG_MODEM_HUP
-                                       printk(KERN_DEBUG "Mhup in ISDN_STAT_BHUP\n");
+                               printk(KERN_DEBUG "Mhup in ISDN_STAT_BHUP\n");
 #endif
-                                       isdn_tty_modem_hup(info, 0);
-                                       return 1;
-                               }
-                               break;
-                       case ISDN_STAT_NODCH:
+                               isdn_tty_modem_hup(info, 0);
+                               return 1;
+                       }
+                       break;
+               case ISDN_STAT_NODCH:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_NODCH ttyI%d\n", info->line);
-#endif
-                               if (TTY_IS_ACTIVE(info)) {
-                                       if (info->dialing) {
-                                               info->dialing = 0;
-                                               info->last_l2 = -1;
-                                               info->last_si = 0;
-                                               sprintf(info->last_cause, "0000");
-                                               isdn_tty_modem_result(RESULT_NO_DIALTONE, info);
-                                       }
-                                       isdn_tty_modem_hup(info, 0);
-                                       return 1;
+                       printk(KERN_DEBUG "tty_STAT_NODCH ttyI%d\n", info->line);
+#endif
+                       if (TTY_IS_ACTIVE(info)) {
+                               if (info->dialing) {
+                                       info->dialing = 0;
+                                       info->last_l2 = -1;
+                                       info->last_si = 0;
+                                       sprintf(info->last_cause, "0000");
+                                       isdn_tty_modem_result(RESULT_NO_DIALTONE, info);
                                }
-                               break;
-                       case ISDN_STAT_UNLOAD:
+                               isdn_tty_modem_hup(info, 0);
+                               return 1;
+                       }
+                       break;
+               case ISDN_STAT_UNLOAD:
 #ifdef ISDN_TTY_STAT_DEBUG
-                               printk(KERN_DEBUG "tty_STAT_UNLOAD ttyI%d\n", info->line);
+                       printk(KERN_DEBUG "tty_STAT_UNLOAD ttyI%d\n", info->line);
 #endif
-                               for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
-                                       info = &dev->mdm.info[i];
-                                       if (info->isdn_driver == c->driver) {
-                                               if (info->online)
-                                                       isdn_tty_modem_hup(info, 1);
-                                       }
+                       for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
+                               info = &dev->mdm.info[i];
+                               if (info->isdn_driver == c->driver) {
+                                       if (info->online)
+                                               isdn_tty_modem_hup(info, 1);
                                }
-                               return 1;
+                       }
+                       return 1;
 #ifdef CONFIG_ISDN_TTY_FAX
-                       case ISDN_STAT_FAXIND:
-                               if (TTY_IS_ACTIVE(info)) {
-                                       isdn_tty_fax_command(info, c); 
-                               }
-                               break;
+               case ISDN_STAT_FAXIND:
+                       if (TTY_IS_ACTIVE(info)) {
+                               isdn_tty_fax_command(info, c);
+                       }
+                       break;
 #endif
 #ifdef CONFIG_ISDN_AUDIO
-                       case ISDN_STAT_AUDIO:
-                               if (TTY_IS_ACTIVE(info)) {
-                                       switch(c->parm.num[0]) {
-                                               case ISDN_AUDIO_DTMF:
-                                                       if (info->vonline) {
-                                                               isdn_audio_put_dle_code(info,
+               case ISDN_STAT_AUDIO:
+                       if (TTY_IS_ACTIVE(info)) {
+                               switch (c->parm.num[0]) {
+                               case ISDN_AUDIO_DTMF:
+                                       if (info->vonline) {
+                                               isdn_audio_put_dle_code(info,
                                                                        c->parm.num[1]);
-                                                       }
-                                                       break;
                                        }
+                                       break;
                                }
-                               break;
+                       }
+                       break;
 #endif
                }
        }
@@ -2311,16 +2311,16 @@ isdn_tty_stat_callback(int i, isdn_ctrl *c)
 
 /*********************************************************************
  Modem-Emulator-Routines
- *********************************************************************/
+*********************************************************************/
 
-#define cmdchar(c) ((c>=' ')&&(c<=0x7f))
+#define cmdchar(c) ((c >= ' ') && (c <= 0x7f))
 
 /*
  * Put a message from the AT-emulator into receive-buffer of tty,
  * convert CR, LF, and BS to values in modem-registers 3, 4 and 5.
  */
 void
-isdn_tty_at_cout(char *msg, modem_info * info)
+isdn_tty_at_cout(char *msg, modem_info *info)
 {
        struct tty_struct *tty;
        atemu *m = &info->emu;
@@ -2348,7 +2348,7 @@ isdn_tty_at_cout(char *msg, modem_info * info)
        /* use queue instead of direct, if online and */
        /* data is in queue or buffer is full */
        if (info->online && ((tty_buffer_request_room(tty, l) < l) ||
-           !skb_queue_empty(&dev->drv[info->isdn_driver]->rpqueue[info->isdn_channel]))) {
+                            !skb_queue_empty(&dev->drv[info->isdn_driver]->rpqueue[info->isdn_channel]))) {
                skb = alloc_skb(l, GFP_ATOMIC);
                if (!skb) {
                        spin_unlock_irqrestore(&info->readlock, flags);
@@ -2363,22 +2363,22 @@ isdn_tty_at_cout(char *msg, modem_info * info)
 
        for (p = msg; *p; p++) {
                switch (*p) {
-                       case '\r':
-                               c = m->mdmreg[REG_CR];
-                               break;
-                       case '\n':
-                               c = m->mdmreg[REG_LF];
-                               break;
-                       case '\b':
-                               c = m->mdmreg[REG_BS];
-                               break;
-                       default:
-                               c = *p;
+               case '\r':
+                       c = m->mdmreg[REG_CR];
+                       break;
+               case '\n':
+                       c = m->mdmreg[REG_LF];
+                       break;
+               case '\b':
+                       c = m->mdmreg[REG_BS];
+                       break;
+               default:
+                       c = *p;
                }
                if (skb) {
                        *sp++ = c;
                } else {
-                       if(tty_insert_flip_char(tty, c, TTY_NORMAL) == 0)
+                       if (tty_insert_flip_char(tty, c, TTY_NORMAL) == 0)
                                break;
                }
        }
@@ -2400,7 +2400,7 @@ isdn_tty_at_cout(char *msg, modem_info * info)
  * Perform ATH Hangup
  */
 static void
-isdn_tty_on_hook(modem_info * info)
+isdn_tty_on_hook(modem_info *info)
 {
        if (info->isdn_channel >= 0) {
 #ifdef ISDN_DEBUG_MODEM_HUP
@@ -2416,8 +2416,8 @@ isdn_tty_off_hook(void)
        printk(KERN_DEBUG "isdn_tty_off_hook\n");
 }
 
-#define PLUSWAIT1 (HZ/2)        /* 0.5 sec. */
-#define PLUSWAIT2 (HZ*3/2)      /* 1.5 sec */
+#define PLUSWAIT1 (HZ / 2)      /* 0.5 sec. */
+#define PLUSWAIT2 (HZ * 3 / 2)  /* 1.5 sec */
 
 /*
  * Check Buffer for Modem-escape-sequence, activate timer-callback to
@@ -2431,7 +2431,7 @@ isdn_tty_off_hook(void)
  *   lastplus   timestamp of last character
  */
 static void
-isdn_tty_check_esc(const u_char * p, u_char plus, int count, int *pluscount,
+isdn_tty_check_esc(const u_char *p, u_char plus, int count, int *pluscount,
                   u_long *lastplus)
 {
        if (plus > 127)
@@ -2471,69 +2471,69 @@ isdn_tty_check_esc(const u_char * p, u_char plus, int count, int *pluscount,
  */
 
 static void
-isdn_tty_modem_result(int code, modem_info * info)
+isdn_tty_modem_result(int code, modem_info *info)
 {
        atemu *m = &info->emu;
        static char *msg[] =
-       {"OK", "CONNECT", "RING", "NO CARRIER", "ERROR",
-        "CONNECT 64000", "NO DIALTONE", "BUSY", "NO ANSWER",
-        "RINGING", "NO MSN/EAZ", "VCON", "RUNG"};
-       char s[ISDN_MSNLEN+10];
+               {"OK", "CONNECT", "RING", "NO CARRIER", "ERROR",
+                "CONNECT 64000", "NO DIALTONE", "BUSY", "NO ANSWER",
+                "RINGING", "NO MSN/EAZ", "VCON", "RUNG"};
+       char s[ISDN_MSNLEN + 10];
 
        switch (code) {
-               case RESULT_RING:
-                       m->mdmreg[REG_RINGCNT]++;
-                       if (m->mdmreg[REG_RINGCNT] == m->mdmreg[REG_RINGATA])
-                               /* Automatically accept incoming call */
-                               isdn_tty_cmd_ATA(info);
-                       break;
-               case RESULT_NO_CARRIER:
+       case RESULT_RING:
+               m->mdmreg[REG_RINGCNT]++;
+               if (m->mdmreg[REG_RINGCNT] == m->mdmreg[REG_RINGATA])
+                       /* Automatically accept incoming call */
+                       isdn_tty_cmd_ATA(info);
+               break;
+       case RESULT_NO_CARRIER:
 #ifdef ISDN_DEBUG_MODEM_HUP
-                       printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
-                              (info->flags & ISDN_ASYNC_CLOSING),
-                              (!info->tty));
-#endif
-                       m->mdmreg[REG_RINGCNT] = 0;
-                       del_timer(&info->nc_timer);
-                       info->ncarrier = 0;
-                       if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) {
-                               return;
-                       }
+               printk(KERN_DEBUG "modem_result: NO CARRIER %d %d\n",
+                      (info->flags & ISDN_ASYNC_CLOSING),
+                      (!info->tty));
+#endif
+               m->mdmreg[REG_RINGCNT] = 0;
+               del_timer(&info->nc_timer);
+               info->ncarrier = 0;
+               if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) {
+                       return;
+               }
 #ifdef CONFIG_ISDN_AUDIO
-                       if (info->vonline & 1) {
+               if (info->vonline & 1) {
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                               printk(KERN_DEBUG "res3: send DLE-ETX on ttyI%d\n",
-                                      info->line);
+                       printk(KERN_DEBUG "res3: send DLE-ETX on ttyI%d\n",
+                              info->line);
 #endif
-                               /* voice-recording, add DLE-ETX */
-                               isdn_tty_at_cout("\020\003", info);
-                       }
-                       if (info->vonline & 2) {
+                       /* voice-recording, add DLE-ETX */
+                       isdn_tty_at_cout("\020\003", info);
+               }
+               if (info->vonline & 2) {
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                               printk(KERN_DEBUG "res3: send DLE-DC4 on ttyI%d\n",
-                                      info->line);
+                       printk(KERN_DEBUG "res3: send DLE-DC4 on ttyI%d\n",
+                              info->line);
 #endif
-                               /* voice-playing, add DLE-DC4 */
-                               isdn_tty_at_cout("\020\024", info);
-                       }
+                       /* voice-playing, add DLE-DC4 */
+                       isdn_tty_at_cout("\020\024", info);
+               }
 #endif
-                       break;
-               case RESULT_CONNECT:
-               case RESULT_CONNECT64000:
-                       sprintf(info->last_cause, "0000");
-                       if (!info->online)
-                               info->online = 2;
-                       break;
-               case RESULT_VCON:
+               break;
+       case RESULT_CONNECT:
+       case RESULT_CONNECT64000:
+               sprintf(info->last_cause, "0000");
+               if (!info->online)
+                       info->online = 2;
+               break;
+       case RESULT_VCON:
 #ifdef ISDN_DEBUG_MODEM_VOICE
-                       printk(KERN_DEBUG "res3: send VCON on ttyI%d\n",
-                              info->line);
+               printk(KERN_DEBUG "res3: send VCON on ttyI%d\n",
+                      info->line);
 #endif
-                       sprintf(info->last_cause, "0000");
-                       if (!info->online)
-                               info->online = 1;
-                       break;
-       } /* switch(code) */
+               sprintf(info->last_cause, "0000");
+               if (!info->online)
+                       info->online = 1;
+               break;
+       } /* switch (code) */
 
        if (m->mdmreg[REG_RESP] & BIT_RESP) {
                /* Show results */
@@ -2543,87 +2543,87 @@ isdn_tty_modem_result(int code, modem_info * info)
                        isdn_tty_at_cout(s, info);
                } else {
                        if (code == RESULT_RING) {
-                           /* return if "show RUNG" and ringcounter>1 */
-                           if ((m->mdmreg[REG_RUNG] & BIT_RUNG) &&
+                               /* return if "show RUNG" and ringcounter>1 */
+                               if ((m->mdmreg[REG_RUNG] & BIT_RUNG) &&
                                    (m->mdmreg[REG_RINGCNT] > 1))
-                                               return;
-                           /* print CID, _before_ _every_ ring */
-                           if (!(m->mdmreg[REG_CIDONCE] & BIT_CIDONCE)) {
-                                   isdn_tty_at_cout("\r\nCALLER NUMBER: ", info);
-                                   isdn_tty_at_cout(dev->num[info->drv_index], info);
-                                   if (m->mdmreg[REG_CDN] & BIT_CDN) {
-                                           isdn_tty_at_cout("\r\nCALLED NUMBER: ", info);
-                                           isdn_tty_at_cout(info->emu.cpn, info);
-                                   }
-                           }
+                                       return;
+                               /* print CID, _before_ _every_ ring */
+                               if (!(m->mdmreg[REG_CIDONCE] & BIT_CIDONCE)) {
+                                       isdn_tty_at_cout("\r\nCALLER NUMBER: ", info);
+                                       isdn_tty_at_cout(dev->num[info->drv_index], info);
+                                       if (m->mdmreg[REG_CDN] & BIT_CDN) {
+                                               isdn_tty_at_cout("\r\nCALLED NUMBER: ", info);
+                                               isdn_tty_at_cout(info->emu.cpn, info);
+                                       }
+                               }
                        }
                        isdn_tty_at_cout("\r\n", info);
                        isdn_tty_at_cout(msg[code], info);
                        switch (code) {
-                               case RESULT_CONNECT:
-                                       switch (m->mdmreg[REG_L2PROT]) {
-                                               case ISDN_PROTO_L2_MODEM:
-                                                       isdn_tty_at_cout(" ", info);
-                                                       isdn_tty_at_cout(m->connmsg, info);
-                                                       break;
-                                       }
+                       case RESULT_CONNECT:
+                               switch (m->mdmreg[REG_L2PROT]) {
+                               case ISDN_PROTO_L2_MODEM:
+                                       isdn_tty_at_cout(" ", info);
+                                       isdn_tty_at_cout(m->connmsg, info);
                                        break;
-                               case RESULT_RING:
-                                       /* Append CPN, if enabled */
-                                       if ((m->mdmreg[REG_CPN] & BIT_CPN)) {
-                                               sprintf(s, "/%s", m->cpn);
-                                               isdn_tty_at_cout(s, info);
-                                       }
-                                       /* Print CID only once, _after_ 1st RING */
-                                       if ((m->mdmreg[REG_CIDONCE] & BIT_CIDONCE) &&
-                                           (m->mdmreg[REG_RINGCNT] == 1)) {
-                                               isdn_tty_at_cout("\r\n", info);
-                                               isdn_tty_at_cout("CALLER NUMBER: ", info);
-                                               isdn_tty_at_cout(dev->num[info->drv_index], info);
-                                               if (m->mdmreg[REG_CDN] & BIT_CDN) {
-                                                       isdn_tty_at_cout("\r\nCALLED NUMBER: ", info);
-                                                       isdn_tty_at_cout(info->emu.cpn, info);
-                                               }
+                               }
+                               break;
+                       case RESULT_RING:
+                               /* Append CPN, if enabled */
+                               if ((m->mdmreg[REG_CPN] & BIT_CPN)) {
+                                       sprintf(s, "/%s", m->cpn);
+                                       isdn_tty_at_cout(s, info);
+                               }
+                               /* Print CID only once, _after_ 1st RING */
+                               if ((m->mdmreg[REG_CIDONCE] & BIT_CIDONCE) &&
+                                   (m->mdmreg[REG_RINGCNT] == 1)) {
+                                       isdn_tty_at_cout("\r\n", info);
+                                       isdn_tty_at_cout("CALLER NUMBER: ", info);
+                                       isdn_tty_at_cout(dev->num[info->drv_index], info);
+                                       if (m->mdmreg[REG_CDN] & BIT_CDN) {
+                                               isdn_tty_at_cout("\r\nCALLED NUMBER: ", info);
+                                               isdn_tty_at_cout(info->emu.cpn, info);
                                        }
+                               }
+                               break;
+                       case RESULT_NO_CARRIER:
+                       case RESULT_NO_DIALTONE:
+                       case RESULT_BUSY:
+                       case RESULT_NO_ANSWER:
+                               m->mdmreg[REG_RINGCNT] = 0;
+                               /* Append Cause-Message if enabled */
+                               if (m->mdmreg[REG_RESPXT] & BIT_RESPXT) {
+                                       sprintf(s, "/%s", info->last_cause);
+                                       isdn_tty_at_cout(s, info);
+                               }
+                               break;
+                       case RESULT_CONNECT64000:
+                               /* Append Protocol to CONNECT message */
+                               switch (m->mdmreg[REG_L2PROT]) {
+                               case ISDN_PROTO_L2_X75I:
+                               case ISDN_PROTO_L2_X75UI:
+                               case ISDN_PROTO_L2_X75BUI:
+                                       isdn_tty_at_cout("/X.75", info);
                                        break;
-                               case RESULT_NO_CARRIER:
-                               case RESULT_NO_DIALTONE:
-                               case RESULT_BUSY:
-                               case RESULT_NO_ANSWER:
-                                       m->mdmreg[REG_RINGCNT] = 0;
-                                       /* Append Cause-Message if enabled */
-                                       if (m->mdmreg[REG_RESPXT] & BIT_RESPXT) {
-                                               sprintf(s, "/%s", info->last_cause);
-                                               isdn_tty_at_cout(s, info);
-                                       }
+                               case ISDN_PROTO_L2_HDLC:
+                                       isdn_tty_at_cout("/HDLC", info);
                                        break;
-                               case RESULT_CONNECT64000:
-                                       /* Append Protocol to CONNECT message */
-                                       switch (m->mdmreg[REG_L2PROT]) {
-                                               case ISDN_PROTO_L2_X75I:
-                                               case ISDN_PROTO_L2_X75UI:
-                                               case ISDN_PROTO_L2_X75BUI:
-                                                       isdn_tty_at_cout("/X.75", info);
-                                                       break;
-                                               case ISDN_PROTO_L2_HDLC:
-                                                       isdn_tty_at_cout("/HDLC", info);
-                                                       break;
-                                               case ISDN_PROTO_L2_V11096:
-                                                       isdn_tty_at_cout("/V110/9600", info);
-                                                       break;
-                                               case ISDN_PROTO_L2_V11019:
-                                                       isdn_tty_at_cout("/V110/19200", info);
-                                                       break;
-                                               case ISDN_PROTO_L2_V11038:
-                                                       isdn_tty_at_cout("/V110/38400", info);
-                                                       break;
-                                       }
-                                       if (m->mdmreg[REG_T70] & BIT_T70) {
-                                               isdn_tty_at_cout("/T.70", info);
-                                               if (m->mdmreg[REG_T70] & BIT_T70_EXT)
-                                                       isdn_tty_at_cout("+", info);
-                                       }
+                               case ISDN_PROTO_L2_V11096:
+                                       isdn_tty_at_cout("/V110/9600", info);
+                                       break;
+                               case ISDN_PROTO_L2_V11019:
+                                       isdn_tty_at_cout("/V110/19200", info);
+                                       break;
+                               case ISDN_PROTO_L2_V11038:
+                                       isdn_tty_at_cout("/V110/38400", info);
                                        break;
+                               }
+                               if (m->mdmreg[REG_T70] & BIT_T70) {
+                                       isdn_tty_at_cout("/T.70", info);
+                                       if (m->mdmreg[REG_T70] & BIT_T70_EXT)
+                                               isdn_tty_at_cout("+", info);
+                               }
+                               break;
                        }
                        isdn_tty_at_cout("\r\n", info);
                }
@@ -2645,7 +2645,7 @@ isdn_tty_modem_result(int code, modem_info * info)
  * Display a modem-register-value.
  */
 static void
-isdn_tty_show_profile(int ridx, modem_info * info)
+isdn_tty_show_profile(int ridx, modem_info *info)
 {
        char v[6];
 
@@ -2664,7 +2664,7 @@ isdn_tty_get_msnstr(char *n, char **p)
        while (((*p[0] >= '0' && *p[0] <= '9') ||
                /* Why a comma ??? */
                (*p[0] == ',') || (*p[0] == ':')) &&
-               (limit--))
+              (limit--))
                *n++ = *p[0]++;
        *n = '\0';
 }
@@ -2673,20 +2673,20 @@ isdn_tty_get_msnstr(char *n, char **p)
  * Get phone-number from modem-commandbuffer
  */
 static void
-isdn_tty_getdial(char *p, char *q,int cnt)
+isdn_tty_getdial(char *p, char *q, int cnt)
 {
        int first = 1;
        int limit = ISDN_MSNLEN - 1;    /* MUST match the size of interface var to avoid
-                                       buffer overflow */
+                                          buffer overflow */
 
-       while (strchr(" 0123456789,#.*WPTSR-", *p) && *p && --cnt>0) {
+       while (strchr(" 0123456789,#.*WPTSR-", *p) && *p && --cnt > 0) {
                if ((*p >= '0' && *p <= '9') || ((*p == 'S') && first) ||
                    ((*p == 'R') && first) ||
                    (*p == '*') || (*p == '#')) {
                        *q++ = *p;
                        limit--;
                }
-               if(!limit)
+               if (!limit)
                        break;
                p++;
                first = 0;
@@ -2698,7 +2698,7 @@ isdn_tty_getdial(char *p, char *q,int cnt)
 #define PARSE_ERROR1 { isdn_tty_modem_result(RESULT_ERROR, info); return 1; }
 
 static void
-isdn_tty_report(modem_info * info)
+isdn_tty_report(modem_info *info)
 {
        atemu *m = &info->emu;
        char s[80];
@@ -2710,39 +2710,39 @@ isdn_tty_report(modem_info * info)
        isdn_tty_at_cout(s, info);
        isdn_tty_at_cout("    Layer-2 Protocol: ", info);
        switch (info->last_l2) {
-               case ISDN_PROTO_L2_X75I:
-                       isdn_tty_at_cout("X.75i", info);
-                       break;
-               case ISDN_PROTO_L2_X75UI:
-                       isdn_tty_at_cout("X.75ui", info);
-                       break;
-               case ISDN_PROTO_L2_X75BUI:
-                       isdn_tty_at_cout("X.75bui", info);
-                       break;
-               case ISDN_PROTO_L2_HDLC:
-                       isdn_tty_at_cout("HDLC", info);
-                       break;
-               case ISDN_PROTO_L2_V11096:
-                       isdn_tty_at_cout("V.110 9600 Baud", info);
-                       break;
-               case ISDN_PROTO_L2_V11019:
-                       isdn_tty_at_cout("V.110 19200 Baud", info);
-                       break;
-               case ISDN_PROTO_L2_V11038:
-                       isdn_tty_at_cout("V.110 38400 Baud", info);
-                       break;
-               case ISDN_PROTO_L2_TRANS:
-                       isdn_tty_at_cout("transparent", info);
-                       break;
-               case ISDN_PROTO_L2_MODEM:
-                       isdn_tty_at_cout("modem", info);
-                       break;
-               case ISDN_PROTO_L2_FAX:
-                       isdn_tty_at_cout("fax", info);
-                       break;
-               default:
-                       isdn_tty_at_cout("unknown", info);
-                       break;
+       case ISDN_PROTO_L2_X75I:
+               isdn_tty_at_cout("X.75i", info);
+               break;
+       case ISDN_PROTO_L2_X75UI:
+               isdn_tty_at_cout("X.75ui", info);
+               break;
+       case ISDN_PROTO_L2_X75BUI:
+               isdn_tty_at_cout("X.75bui", info);
+               break;
+       case ISDN_PROTO_L2_HDLC:
+               isdn_tty_at_cout("HDLC", info);
+               break;
+       case ISDN_PROTO_L2_V11096:
+               isdn_tty_at_cout("V.110 9600 Baud", info);
+               break;
+       case ISDN_PROTO_L2_V11019:
+               isdn_tty_at_cout("V.110 19200 Baud", info);
+               break;
+       case ISDN_PROTO_L2_V11038:
+               isdn_tty_at_cout("V.110 38400 Baud", info);
+               break;
+       case ISDN_PROTO_L2_TRANS:
+               isdn_tty_at_cout("transparent", info);
+               break;
+       case ISDN_PROTO_L2_MODEM:
+               isdn_tty_at_cout("modem", info);
+               break;
+       case ISDN_PROTO_L2_FAX:
+               isdn_tty_at_cout("fax", info);
+               break;
+       default:
+               isdn_tty_at_cout("unknown", info);
+               break;
        }
        if (m->mdmreg[REG_T70] & BIT_T70) {
                isdn_tty_at_cout("/T.70", info);
@@ -2752,19 +2752,19 @@ isdn_tty_report(modem_info * info)
        isdn_tty_at_cout("\r\n", info);
        isdn_tty_at_cout("    Service:          ", info);
        switch (info->last_si) {
-               case 1:
-                       isdn_tty_at_cout("audio\r\n", info);
-                       break;
-               case 5:
-                       isdn_tty_at_cout("btx\r\n", info);
-                       break;
-               case 7:
-                       isdn_tty_at_cout("data\r\n", info);
-                       break;
-               default:
-                       sprintf(s, "%d\r\n", info->last_si);
-                       isdn_tty_at_cout(s, info);
-                       break;
+       case 1:
+               isdn_tty_at_cout("audio\r\n", info);
+               break;
+       case 5:
+               isdn_tty_at_cout("btx\r\n", info);
+               break;
+       case 7:
+               isdn_tty_at_cout("data\r\n", info);
+               break;
+       default:
+               sprintf(s, "%d\r\n", info->last_si);
+               isdn_tty_at_cout(s, info);
+               break;
        }
        sprintf(s, "    Hangup location:  %s\r\n", info->last_lhup ? "local" : "remote");
        isdn_tty_at_cout(s, info);
@@ -2776,7 +2776,7 @@ isdn_tty_report(modem_info * info)
  * Parse AT&.. commands.
  */
 static int
-isdn_tty_cmd_ATand(char **p, modem_info * info)
+isdn_tty_cmd_ATand(char **p, modem_info *info)
 {
        atemu *m = &info->emu;
        int i;
@@ -2785,224 +2785,224 @@ isdn_tty_cmd_ATand(char **p, modem_info * info)
 #define MAXRB (sizeof(rb) - 1)
 
        switch (*p[0]) {
-               case 'B':
-                       /* &B - Set Buffersize */
-                       p[0]++;
-                       i = isdn_getnum(p);
-                       if ((i < 0) || (i > ISDN_SERIAL_XMIT_MAX))
-                               PARSE_ERROR1;
+       case 'B':
+               /* &B - Set Buffersize */
+               p[0]++;
+               i = isdn_getnum(p);
+               if ((i < 0) || (i > ISDN_SERIAL_XMIT_MAX))
+                       PARSE_ERROR1;
 #ifdef CONFIG_ISDN_AUDIO
-                       if ((m->mdmreg[REG_SI1] & 1) && (i > VBUF))
-                               PARSE_ERROR1;
+               if ((m->mdmreg[REG_SI1] & 1) && (i > VBUF))
+                       PARSE_ERROR1;
 #endif
-                       m->mdmreg[REG_PSIZE] = i / 16;
-                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
-                       switch (m->mdmreg[REG_L2PROT]) {
-                               case ISDN_PROTO_L2_V11096:
-                               case ISDN_PROTO_L2_V11019:
-                               case ISDN_PROTO_L2_V11038:
-                                       info->xmit_size /= 10;          
-                       }
+               m->mdmreg[REG_PSIZE] = i / 16;
+               info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
+               switch (m->mdmreg[REG_L2PROT]) {
+               case ISDN_PROTO_L2_V11096:
+               case ISDN_PROTO_L2_V11019:
+               case ISDN_PROTO_L2_V11038:
+                       info->xmit_size /= 10;
+               }
+               break;
+       case 'C':
+               /* &C - DCD Status */
+               p[0]++;
+               switch (isdn_getnum(p)) {
+               case 0:
+                       m->mdmreg[REG_DCD] &= ~BIT_DCD;
                        break;
-               case 'C':
-                       /* &C - DCD Status */
-                       p[0]++;
-                       switch (isdn_getnum(p)) {
-                               case 0:
-                                       m->mdmreg[REG_DCD] &= ~BIT_DCD;
-                                       break;
-                               case 1:
-                                       m->mdmreg[REG_DCD] |= BIT_DCD;
-                                       break;
-                               default:
-                                       PARSE_ERROR1
-                       }
+               case 1:
+                       m->mdmreg[REG_DCD] |= BIT_DCD;
                        break;
-               case 'D':
-                       /* &D - Set DTR-Low-behavior */
-                       p[0]++;
-                       switch (isdn_getnum(p)) {
-                               case 0:
-                                       m->mdmreg[REG_DTRHUP] &= ~BIT_DTRHUP;
-                                       m->mdmreg[REG_DTRR] &= ~BIT_DTRR;
-                                       break;
-                               case 2:
-                                       m->mdmreg[REG_DTRHUP] |= BIT_DTRHUP;
-                                       m->mdmreg[REG_DTRR] &= ~BIT_DTRR;
-                                       break;
-                               case 3:
-                                       m->mdmreg[REG_DTRHUP] |= BIT_DTRHUP;
-                                       m->mdmreg[REG_DTRR] |= BIT_DTRR;
-                                       break;
-                               default:
-                                       PARSE_ERROR1
-                       }
+               default:
+                       PARSE_ERROR1
+                               }
+               break;
+       case 'D':
+               /* &D - Set DTR-Low-behavior */
+               p[0]++;
+               switch (isdn_getnum(p)) {
+               case 0:
+                       m->mdmreg[REG_DTRHUP] &= ~BIT_DTRHUP;
+                       m->mdmreg[REG_DTRR] &= ~BIT_DTRR;
                        break;
-               case 'E':
-                       /* &E -Set EAZ/MSN */
-                       p[0]++;
-                       isdn_tty_get_msnstr(m->msn, p);
+               case 2:
+                       m->mdmreg[REG_DTRHUP] |= BIT_DTRHUP;
+                       m->mdmreg[REG_DTRR] &= ~BIT_DTRR;
                        break;
-               case 'F':
-                       /* &F -Set Factory-Defaults */
-                       p[0]++;
-                       if (info->msr & UART_MSR_DCD)
-                               PARSE_ERROR1;
-                       isdn_tty_reset_profile(m);
-                       isdn_tty_modem_reset_regs(info, 1);
+               case 3:
+                       m->mdmreg[REG_DTRHUP] |= BIT_DTRHUP;
+                       m->mdmreg[REG_DTRR] |= BIT_DTRR;
                        break;
+               default:
+                       PARSE_ERROR1
+                               }
+               break;
+       case 'E':
+               /* &E -Set EAZ/MSN */
+               p[0]++;
+               isdn_tty_get_msnstr(m->msn, p);
+               break;
+       case 'F':
+               /* &F -Set Factory-Defaults */
+               p[0]++;
+               if (info->msr & UART_MSR_DCD)
+                       PARSE_ERROR1;
+               isdn_tty_reset_profile(m);
+               isdn_tty_modem_reset_regs(info, 1);
+               break;
 #ifdef DUMMY_HAYES_AT
-               case 'K':
-                       /* only for be compilant with common scripts */
-                       /* &K Flowcontrol - no function */
-                       p[0]++;
-                       isdn_getnum(p);
+       case 'K':
+               /* only for be compilant with common scripts */
+               /* &K Flowcontrol - no function */
+               p[0]++;
+               isdn_getnum(p);
+               break;
+#endif
+       case 'L':
+               /* &L -Set Numbers to listen on */
+               p[0]++;
+               i = 0;
+               while (*p[0] && (strchr("0123456789,-*[]?;", *p[0])) &&
+                      (i < ISDN_LMSNLEN - 1))
+                       m->lmsn[i++] = *p[0]++;
+               m->lmsn[i] = '\0';
+               break;
+       case 'R':
+               /* &R - Set V.110 bitrate adaption */
+               p[0]++;
+               i = isdn_getnum(p);
+               switch (i) {
+               case 0:
+                       /* Switch off V.110, back to X.75 */
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
+                       m->mdmreg[REG_SI2] = 0;
+                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
                        break;
-#endif
-               case 'L':
-                       /* &L -Set Numbers to listen on */
-                       p[0]++;
-                       i = 0;
-                       while (*p[0] && (strchr("0123456789,-*[]?;", *p[0])) &&
-                              (i < ISDN_LMSNLEN - 1))
-                               m->lmsn[i++] = *p[0]++;
-                       m->lmsn[i] = '\0';
-                       break;
-               case 'R':
-                       /* &R - Set V.110 bitrate adaption */
-                       p[0]++;
-                       i = isdn_getnum(p);
-                       switch (i) {
-                               case 0:
-                                       /* Switch off V.110, back to X.75 */
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
-                                       m->mdmreg[REG_SI2] = 0;
-                                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
-                                       break;
-                               case 9600:
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11096;
-                                       m->mdmreg[REG_SI2] = 197;
-                                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
-                                       break;
-                               case 19200:
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11019;
-                                       m->mdmreg[REG_SI2] = 199;
-                                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
-                                       break;
-                               case 38400:
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11038;
-                                       m->mdmreg[REG_SI2] = 198; /* no existing standard for this */
-                                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
-                       }
-                       /* Switch off T.70 */
-                       m->mdmreg[REG_T70] &= ~(BIT_T70 | BIT_T70_EXT);
-                       /* Set Service 7 */
-                       m->mdmreg[REG_SI1] |= 4;
+               case 9600:
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11096;
+                       m->mdmreg[REG_SI2] = 197;
+                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
                        break;
-               case 'S':
-                       /* &S - Set Windowsize */
-                       p[0]++;
-                       i = isdn_getnum(p);
-                       if ((i > 0) && (i < 9))
-                               m->mdmreg[REG_WSIZE] = i;
-                       else
-                               PARSE_ERROR1;
+               case 19200:
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11019;
+                       m->mdmreg[REG_SI2] = 199;
+                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
                        break;
-               case 'V':
-                       /* &V - Show registers */
-                       p[0]++;
-                       isdn_tty_at_cout("\r\n", info);
-                       for (i = 0; i < ISDN_MODEM_NUMREG; i++) {
-                               sprintf(rb, "S%02d=%03d%s", i,
-                                       m->mdmreg[i], ((i + 1) % 10) ? " " : "\r\n");
-                               isdn_tty_at_cout(rb, info);
-                       }
-                       sprintf(rb, "\r\nEAZ/MSN: %.50s\r\n",
-                               strlen(m->msn) ? m->msn : "None");
-                       isdn_tty_at_cout(rb, info);
-                       if (strlen(m->lmsn)) {
-                               isdn_tty_at_cout("\r\nListen: ", info);
-                               isdn_tty_at_cout(m->lmsn, info);
-                               isdn_tty_at_cout("\r\n", info);
-                       }
+               case 38400:
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_V11038;
+                       m->mdmreg[REG_SI2] = 198; /* no existing standard for this */
+                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16 / 10;
                        break;
-               case 'W':
-                       /* &W - Write Profile */
+               default:
+                       PARSE_ERROR1;
+               }
+               /* Switch off T.70 */
+               m->mdmreg[REG_T70] &= ~(BIT_T70 | BIT_T70_EXT);
+               /* Set Service 7 */
+               m->mdmreg[REG_SI1] |= 4;
+               break;
+       case 'S':
+               /* &S - Set Windowsize */
+               p[0]++;
+               i = isdn_getnum(p);
+               if ((i > 0) && (i < 9))
+                       m->mdmreg[REG_WSIZE] = i;
+               else
+                       PARSE_ERROR1;
+               break;
+       case 'V':
+               /* &V - Show registers */
+               p[0]++;
+               isdn_tty_at_cout("\r\n", info);
+               for (i = 0; i < ISDN_MODEM_NUMREG; i++) {
+                       sprintf(rb, "S%02d=%03d%s", i,
+                               m->mdmreg[i], ((i + 1) % 10) ? " " : "\r\n");
+                       isdn_tty_at_cout(rb, info);
+               }
+               sprintf(rb, "\r\nEAZ/MSN: %.50s\r\n",
+                       strlen(m->msn) ? m->msn : "None");
+               isdn_tty_at_cout(rb, info);
+               if (strlen(m->lmsn)) {
+                       isdn_tty_at_cout("\r\nListen: ", info);
+                       isdn_tty_at_cout(m->lmsn, info);
+                       isdn_tty_at_cout("\r\n", info);
+               }
+               break;
+       case 'W':
+               /* &W - Write Profile */
+               p[0]++;
+               switch (*p[0]) {
+               case '0':
                        p[0]++;
-                       switch (*p[0]) {
-                               case '0':
-                                       p[0]++;
-                                       modem_write_profile(m);
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
-                       }
+                       modem_write_profile(m);
                        break;
-               case 'X':
-                       /* &X - Switch to BTX-Mode and T.70 */
-                       p[0]++;
-                       switch (isdn_getnum(p)) {
-                               case 0:
-                                       m->mdmreg[REG_T70] &= ~(BIT_T70 | BIT_T70_EXT);
-                                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
-                                       break;
-                               case 1:
-                                       m->mdmreg[REG_T70] |= BIT_T70;
-                                       m->mdmreg[REG_T70] &= ~BIT_T70_EXT;
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
-                                       info->xmit_size = 112;
-                                       m->mdmreg[REG_SI1] = 4;
-                                       m->mdmreg[REG_SI2] = 0;
-                                       break;
-                               case 2:
-                                       m->mdmreg[REG_T70] |= (BIT_T70 | BIT_T70_EXT);
-                                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
-                                       info->xmit_size = 112;
-                                       m->mdmreg[REG_SI1] = 4;
-                                       m->mdmreg[REG_SI2] = 0;
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
-                       }
+               default:
+                       PARSE_ERROR1;
+               }
+               break;
+       case 'X':
+               /* &X - Switch to BTX-Mode and T.70 */
+               p[0]++;
+               switch (isdn_getnum(p)) {
+               case 0:
+                       m->mdmreg[REG_T70] &= ~(BIT_T70 | BIT_T70_EXT);
+                       info->xmit_size = m->mdmreg[REG_PSIZE] * 16;
+                       break;
+               case 1:
+                       m->mdmreg[REG_T70] |= BIT_T70;
+                       m->mdmreg[REG_T70] &= ~BIT_T70_EXT;
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
+                       info->xmit_size = 112;
+                       m->mdmreg[REG_SI1] = 4;
+                       m->mdmreg[REG_SI2] = 0;
+                       break;
+               case 2:
+                       m->mdmreg[REG_T70] |= (BIT_T70 | BIT_T70_EXT);
+                       m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
+                       info->xmit_size = 112;
+                       m->mdmreg[REG_SI1] = 4;
+                       m->mdmreg[REG_SI2] = 0;
                        break;
                default:
                        PARSE_ERROR1;
+               }
+               break;
+       default:
+               PARSE_ERROR1;
        }
        return 0;
 }
 
 static int
-isdn_tty_check_ats(int mreg, int mval, modem_info * info, atemu * m)
+isdn_tty_check_ats(int mreg, int mval, modem_info *info, atemu *m)
 {
        /* Some plausibility checks */
        switch (mreg) {
-               case REG_L2PROT:
-                       if (mval > ISDN_PROTO_L2_MAX)
-                               return 1;
-                       break;
-               case REG_PSIZE:
-                       if ((mval * 16) > ISDN_SERIAL_XMIT_MAX)
-                               return 1;
+       case REG_L2PROT:
+               if (mval > ISDN_PROTO_L2_MAX)
+                       return 1;
+               break;
+       case REG_PSIZE:
+               if ((mval * 16) > ISDN_SERIAL_XMIT_MAX)
+                       return 1;
 #ifdef CONFIG_ISDN_AUDIO
-                       if ((m->mdmreg[REG_SI1] & 1) && (mval > VBUFX))
-                               return 1;
-#endif
-                       info->xmit_size = mval * 16;
-                       switch (m->mdmreg[REG_L2PROT]) {
-                               case ISDN_PROTO_L2_V11096:
-                               case ISDN_PROTO_L2_V11019:
-                               case ISDN_PROTO_L2_V11038:
-                                       info->xmit_size /= 10;          
-                       }
-                       break;
-               case REG_SI1I:
-               case REG_PLAN:
-               case REG_SCREEN:
-                       /* readonly registers */
+               if ((m->mdmreg[REG_SI1] & 1) && (mval > VBUFX))
                        return 1;
+#endif
+               info->xmit_size = mval * 16;
+               switch (m->mdmreg[REG_L2PROT]) {
+               case ISDN_PROTO_L2_V11096:
+               case ISDN_PROTO_L2_V11019:
+               case ISDN_PROTO_L2_V11038:
+                       info->xmit_size /= 10;
+               }
+               break;
+       case REG_SI1I:
+       case REG_PLAN:
+       case REG_SCREEN:
+               /* readonly registers */
+               return 1;
        }
        return 0;
 }
@@ -3011,7 +3011,7 @@ isdn_tty_check_ats(int mreg, int mval, modem_info * info, atemu * m)
  * Perform ATS command
  */
 static int
-isdn_tty_cmd_ATS(char **p, modem_info * info)
+isdn_tty_cmd_ATS(char **p, modem_info *info)
 {
        atemu *m = &info->emu;
        int bitpos;
@@ -3023,52 +3023,52 @@ isdn_tty_cmd_ATS(char **p, modem_info * info)
        if (mreg < 0 || mreg >= ISDN_MODEM_NUMREG)
                PARSE_ERROR1;
        switch (*p[0]) {
+       case '=':
+               p[0]++;
+               mval = isdn_getnum(p);
+               if (mval < 0 || mval > 255)
+                       PARSE_ERROR1;
+               if (isdn_tty_check_ats(mreg, mval, info, m))
+                       PARSE_ERROR1;
+               m->mdmreg[mreg] = mval;
+               break;
+       case '.':
+               /* Set/Clear a single bit */
+               p[0]++;
+               bitpos = isdn_getnum(p);
+               if ((bitpos < 0) || (bitpos > 7))
+                       PARSE_ERROR1;
+               switch (*p[0]) {
                case '=':
                        p[0]++;
-                       mval = isdn_getnum(p);
-                       if (mval < 0 || mval > 255)
+                       bval = isdn_getnum(p);
+                       if (bval < 0 || bval > 1)
                                PARSE_ERROR1;
+                       if (bval)
+                               mval = m->mdmreg[mreg] | (1 << bitpos);
+                       else
+                               mval = m->mdmreg[mreg] & ~(1 << bitpos);
                        if (isdn_tty_check_ats(mreg, mval, info, m))
                                PARSE_ERROR1;
                        m->mdmreg[mreg] = mval;
                        break;
-               case '.':
-                       /* Set/Clear a single bit */
-                       p[0]++;
-                       bitpos = isdn_getnum(p);
-                       if ((bitpos < 0) || (bitpos > 7))
-                               PARSE_ERROR1;
-                       switch (*p[0]) {
-                               case '=':
-                                       p[0]++;
-                                       bval = isdn_getnum(p);
-                                       if (bval < 0 || bval > 1)
-                                               PARSE_ERROR1;
-                                       if (bval)
-                                               mval = m->mdmreg[mreg] | (1 << bitpos);
-                                       else
-                                               mval = m->mdmreg[mreg] & ~(1 << bitpos);
-                                       if (isdn_tty_check_ats(mreg, mval, info, m))
-                                               PARSE_ERROR1;
-                                       m->mdmreg[mreg] = mval;
-                                       break;
-                               case '?':
-                                       p[0]++;
-                                       isdn_tty_at_cout("\r\n", info);
-                                       isdn_tty_at_cout((m->mdmreg[mreg] & (1 << bitpos)) ? "1" : "0",
-                                                        info);
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
-                       }
-                       break;
                case '?':
                        p[0]++;
-                       isdn_tty_show_profile(mreg, info);
+                       isdn_tty_at_cout("\r\n", info);
+                       isdn_tty_at_cout((m->mdmreg[mreg] & (1 << bitpos)) ? "1" : "0",
+                                        info);
                        break;
                default:
                        PARSE_ERROR1;
-                       break;
+               }
+               break;
+       case '?':
+               p[0]++;
+               isdn_tty_show_profile(mreg, info);
+               break;
+       default:
+               PARSE_ERROR1;
+               break;
        }
        return 0;
 }
@@ -3077,7 +3077,7 @@ isdn_tty_cmd_ATS(char **p, modem_info * info)
  * Perform ATA command
  */
 static void
-isdn_tty_cmd_ATA(modem_info * info)
+isdn_tty_cmd_ATA(modem_info *info)
 {
        atemu *m = &info->emu;
        isdn_ctrl cmd;
@@ -3131,7 +3131,7 @@ isdn_tty_cmd_ATA(modem_info * info)
  * Parse AT+F.. commands
  */
 static int
-isdn_tty_cmd_PLUSF(char **p, modem_info * info)
+isdn_tty_cmd_PLUSF(char **p, modem_info *info)
 {
        atemu *m = &info->emu;
        char rs[20];
@@ -3139,81 +3139,81 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info)
        if (!strncmp(p[0], "CLASS", 5)) {
                p[0] += 5;
                switch (*p[0]) {
-                       case '?':
-                               p[0]++;
-                               sprintf(rs, "\r\n%d",
-                                       (m->mdmreg[REG_SI1] & 1) ? 8 : 0);
+               case '?':
+                       p[0]++;
+                       sprintf(rs, "\r\n%d",
+                               (m->mdmreg[REG_SI1] & 1) ? 8 : 0);
 #ifdef CONFIG_ISDN_TTY_FAX
-                               if (TTY_IS_FCLASS2(info))
-                                               sprintf(rs, "\r\n2");
-                               else if (TTY_IS_FCLASS1(info))
-                                               sprintf(rs, "\r\n1");
+                       if (TTY_IS_FCLASS2(info))
+                               sprintf(rs, "\r\n2");
+                       else if (TTY_IS_FCLASS1(info))
+                               sprintf(rs, "\r\n1");
 #endif
-                               isdn_tty_at_cout(rs, info);
-                               break;
-                       case '=':
+                       isdn_tty_at_cout(rs, info);
+                       break;
+               case '=':
+                       p[0]++;
+                       switch (*p[0]) {
+                       case '0':
                                p[0]++;
-                               switch (*p[0]) {
-                                       case '0':
-                                               p[0]++;
-                                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
-                                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_TRANS;
-                                               m->mdmreg[REG_SI1] = 4;
-                                               info->xmit_size =
-                                                   m->mdmreg[REG_PSIZE] * 16;
-                                               break;
+                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
+                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_TRANS;
+                               m->mdmreg[REG_SI1] = 4;
+                               info->xmit_size =
+                                       m->mdmreg[REG_PSIZE] * 16;
+                               break;
 #ifdef CONFIG_ISDN_TTY_FAX
-                                       case '1':
-                                               p[0]++;
-                                               if (!(dev->global_features &
-                                                       ISDN_FEATURE_L3_FCLASS1))
-                                                       PARSE_ERROR1;
-                                               m->mdmreg[REG_SI1] = 1;
-                                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_FAX;
-                                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_FCLASS1;
-                                               info->xmit_size =
-                                                   m->mdmreg[REG_PSIZE] * 16;
-                                               break;
-                                       case '2':
-                                               p[0]++;
-                                               if (!(dev->global_features &
-                                                       ISDN_FEATURE_L3_FCLASS2))
-                                                       PARSE_ERROR1;
-                                               m->mdmreg[REG_SI1] = 1;
-                                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_FAX;
-                                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_FCLASS2;
-                                               info->xmit_size =
-                                                   m->mdmreg[REG_PSIZE] * 16;
-                                               break;
+                       case '1':
+                               p[0]++;
+                               if (!(dev->global_features &
+                                     ISDN_FEATURE_L3_FCLASS1))
+                                       PARSE_ERROR1;
+                               m->mdmreg[REG_SI1] = 1;
+                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_FAX;
+                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_FCLASS1;
+                               info->xmit_size =
+                                       m->mdmreg[REG_PSIZE] * 16;
+                               break;
+                       case '2':
+                               p[0]++;
+                               if (!(dev->global_features &
+                                     ISDN_FEATURE_L3_FCLASS2))
+                                       PARSE_ERROR1;
+                               m->mdmreg[REG_SI1] = 1;
+                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_FAX;
+                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_FCLASS2;
+                               info->xmit_size =
+                                       m->mdmreg[REG_PSIZE] * 16;
+                               break;
 #endif
-                                       case '8':
-                                               p[0]++;
-                                               /* L2 will change on dialout with si=1 */
-                                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
-                                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_TRANS;
-                                               m->mdmreg[REG_SI1] = 5;
-                                               info->xmit_size = VBUF;
-                                               break;
-                                       case '?':
-                                               p[0]++;
-                                               strcpy(rs, "\r\n0,");
+                       case '8':
+                               p[0]++;
+                               /* L2 will change on dialout with si=1 */
+                               m->mdmreg[REG_L2PROT] = ISDN_PROTO_L2_X75I;
+                               m->mdmreg[REG_L3PROT] = ISDN_PROTO_L3_TRANS;
+                               m->mdmreg[REG_SI1] = 5;
+                               info->xmit_size = VBUF;
+                               break;
+                       case '?':
+                               p[0]++;
+                               strcpy(rs, "\r\n0,");
 #ifdef CONFIG_ISDN_TTY_FAX
-                                               if (dev->global_features &
-                                                       ISDN_FEATURE_L3_FCLASS1)
-                                                       strcat(rs, "1,");
-                                               if (dev->global_features &
-                                                       ISDN_FEATURE_L3_FCLASS2)
-                                                       strcat(rs, "2,");
-#endif
-                                               strcat(rs, "8");
-                                               isdn_tty_at_cout(rs, info);
-                                               break;
-                                       default:
-                                               PARSE_ERROR1;
-                               }
+                               if (dev->global_features &
+                                   ISDN_FEATURE_L3_FCLASS1)
+                                       strcat(rs, "1,");
+                               if (dev->global_features &
+                                   ISDN_FEATURE_L3_FCLASS2)
+                                       strcat(rs, "2,");
+#endif
+                               strcat(rs, "8");
+                               isdn_tty_at_cout(rs, info);
                                break;
                        default:
                                PARSE_ERROR1;
+                       }
+                       break;
+               default:
+                       PARSE_ERROR1;
                }
                return 0;
        }
@@ -3228,12 +3228,12 @@ isdn_tty_cmd_PLUSF(char **p, modem_info * info)
  * Parse AT+V.. commands
  */
 static int
-isdn_tty_cmd_PLUSV(char **p, modem_info * info)
+isdn_tty_cmd_PLUSV(char **p, modem_info *info)
 {
        atemu *m = &info->emu;
        isdn_ctrl cmd;
        static char *vcmd[] =
-       {"NH", "IP", "LS", "RX", "SD", "SM", "TX", "DD", NULL};
+               {"NH", "IP", "LS", "RX", "SD", "SM", "TX", "DD", NULL};
        int i;
        int par1;
        int par2;
@@ -3248,256 +3248,256 @@ isdn_tty_cmd_PLUSV(char **p, modem_info * info)
                i++;
        }
        switch (i) {
-               case 0:
-                       /* AT+VNH - Auto hangup feature */
+       case 0:
+               /* AT+VNH - Auto hangup feature */
+               switch (*p[0]) {
+               case '?':
+                       p[0]++;
+                       isdn_tty_at_cout("\r\n1", info);
+                       break;
+               case '=':
+                       p[0]++;
                        switch (*p[0]) {
-                               case '?':
-                                       p[0]++;
-                                       isdn_tty_at_cout("\r\n1", info);
-                                       break;
-                               case '=':
-                                       p[0]++;
-                                       switch (*p[0]) {
-                                               case '1':
-                                                       p[0]++;
-                                                       break;
-                                               case '?':
-                                                       p[0]++;
-                                                       isdn_tty_at_cout("\r\n1", info);
-                                                       break;
-                                               default:
-                                                       PARSE_ERROR1;
-                                       }
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
+                       case '1':
+                               p[0]++;
+                               break;
+                       case '?':
+                               p[0]++;
+                               isdn_tty_at_cout("\r\n1", info);
+                               break;
+                       default:
+                               PARSE_ERROR1;
                        }
                        break;
-               case 1:
-                       /* AT+VIP - Reset all voice parameters */
-                       isdn_tty_modem_reset_vpar(m);
+               default:
+                       PARSE_ERROR1;
+               }
+               break;
+       case 1:
+               /* AT+VIP - Reset all voice parameters */
+               isdn_tty_modem_reset_vpar(m);
+               break;
+       case 2:
+               /* AT+VLS - Select device, accept incoming call */
+               switch (*p[0]) {
+               case '?':
+                       p[0]++;
+                       sprintf(rs, "\r\n%d", m->vpar[0]);
+                       isdn_tty_at_cout(rs, info);
                        break;
-               case 2:
-                       /* AT+VLS - Select device, accept incoming call */
+               case '=':
+                       p[0]++;
                        switch (*p[0]) {
-                               case '?':
-                                       p[0]++;
-                                       sprintf(rs, "\r\n%d", m->vpar[0]);
-                                       isdn_tty_at_cout(rs, info);
-                                       break;
-                               case '=':
-                                       p[0]++;
-                                       switch (*p[0]) {
-                                               case '0':
-                                                       p[0]++;
-                                                       m->vpar[0] = 0;
-                                                       break;
-                                               case '2':
-                                                       p[0]++;
-                                                       m->vpar[0] = 2;
-                                                       break;
-                                               case '?':
-                                                       p[0]++;
-                                                       isdn_tty_at_cout("\r\n0,2", info);
-                                                       break;
-                                               default:
-                                                       PARSE_ERROR1;
-                                       }
-                                       break;
-                               default:
-                                       PARSE_ERROR1;
-                       }
-                       break;
-               case 3:
-                       /* AT+VRX - Start recording */
-                       if (!m->vpar[0])
-                               PARSE_ERROR1;
-                       if (info->online != 1) {
-                               isdn_tty_modem_result(RESULT_NO_ANSWER, info);
-                               return 1;
-                       }
-                       info->dtmf_state = isdn_audio_dtmf_init(info->dtmf_state);
-                       if (!info->dtmf_state) {
-                               printk(KERN_WARNING "isdn_tty: Couldn't malloc dtmf state\n");
+                       case '0':
+                               p[0]++;
+                               m->vpar[0] = 0;
+                               break;
+                       case '2':
+                               p[0]++;
+                               m->vpar[0] = 2;
+                               break;
+                       case '?':
+                               p[0]++;
+                               isdn_tty_at_cout("\r\n0,2", info);
+                               break;
+                       default:
                                PARSE_ERROR1;
                        }
-                       info->silence_state = isdn_audio_silence_init(info->silence_state);
-                       if (!info->silence_state) {
-                               printk(KERN_WARNING "isdn_tty: Couldn't malloc silence state\n");
+                       break;
+               default:
+                       PARSE_ERROR1;
+               }
+               break;
+       case 3:
+               /* AT+VRX - Start recording */
+               if (!m->vpar[0])
+                       PARSE_ERROR1;
+               if (info->online != 1) {
+                       isdn_tty_modem_result(RESULT_NO_ANSWER, info);
+                       return 1;
+               }
+               info->dtmf_state = isdn_audio_dtmf_init(info->dtmf_state);
+               if (!info->dtmf_state) {
+                       printk(KERN_WARNING "isdn_tty: Couldn't malloc dtmf state\n");
+                       PARSE_ERROR1;
+               }
+               info->silence_state = isdn_audio_silence_init(info->silence_state);
+               if (!info->silence_state) {
+                       printk(KERN_WARNING "isdn_tty: Couldn't malloc silence state\n");
+                       PARSE_ERROR1;
+               }
+               if (m->vpar[3] < 5) {
+                       info->adpcmr = isdn_audio_adpcm_init(info->adpcmr, m->vpar[3]);
+                       if (!info->adpcmr) {
+                               printk(KERN_WARNING "isdn_tty: Couldn't malloc adpcm state\n");
                                PARSE_ERROR1;
                        }
-                       if (m->vpar[3] < 5) {
-                               info->adpcmr = isdn_audio_adpcm_init(info->adpcmr, m->vpar[3]);
-                               if (!info->adpcmr) {
-                                       printk(KERN_WARNING "isdn_tty: Couldn't malloc adpcm state\n");
-                                       PARSE_ERROR1;
-                               }
-                       }
+               }
 #ifdef ISDN_DEBUG_AT
-                       printk(KERN_DEBUG "AT: +VRX\n");
+               printk(KERN_DEBUG "AT: +VRX\n");
 #endif
-                       info->vonline |= 1;
-                       isdn_tty_modem_result(RESULT_CONNECT, info);
-                       return 0;
+               info->vonline |= 1;
+               isdn_tty_modem_result(RESULT_CONNECT, info);
+               return 0;
+               break;
+       case 4:
+               /* AT+VSD - Silence detection */
+               switch (*p[0]) {
+               case '?':
+                       p[0]++;
+                       sprintf(rs, "\r\n<%d>,<%d>",
+                               m->vpar[1],
+                               m->vpar[2]);
+                       isdn_tty_at_cout(rs, info);
                        break;
-               case 4:
-                       /* AT+VSD - Silence detection */
-                       switch (*p[0]) {
-                               case '?':
-                                       p[0]++;
-                                       sprintf(rs, "\r\n<%d>,<%d>",
-                                               m->vpar[1],
-                                               m->vpar[2]);
-                                       isdn_tty_at_cout(rs, info);
-                                       break;
-                               case '=':
-                                       p[0]++;
-                                       if ((*p[0]>='0') && (*p[0]<='9')) {
-                                               par1 = isdn_getnum(p);
-                                               if ((par1 < 0) || (par1 > 31))
-                                                       PARSE_ERROR1;
-                                               if (*p[0] != ',')
-                                                       PARSE_ERROR1;
-                                               p[0]++;
-                                               par2 = isdn_getnum(p);
-                                               if ((par2 < 0) || (par2 > 255))
-                                                       PARSE_ERROR1;
-                                               m->vpar[1] = par1;
-                                               m->vpar[2] = par2;
-                                               break;
-                                       } else 
-                                       if (*p[0] == '?') {
-                                               p[0]++;
-                                               isdn_tty_at_cout("\r\n<0-31>,<0-255>",
-                                                          info);
-                                               break;
-                                       } else
+               case '=':
+                       p[0]++;
+                       if ((*p[0] >= '0') && (*p[0] <= '9')) {
+                               par1 = isdn_getnum(p);
+                               if ((par1 < 0) || (par1 > 31))
                                        PARSE_ERROR1;
-                                       break;
-                               default:
+                               if (*p[0] != ',')
                                        PARSE_ERROR1;
-                       }
-                       break;
-               case 5:
-                       /* AT+VSM - Select compression */
-                       switch (*p[0]) {
-                               case '?':
-                                       p[0]++;
-                                       sprintf(rs, "\r\n<%d>,<%d><8000>",
-                                               m->vpar[3],
-                                               m->vpar[1]);
-                                       isdn_tty_at_cout(rs, info);
-                                       break;
-                               case '=':
+                               p[0]++;
+                               par2 = isdn_getnum(p);
+                               if ((par2 < 0) || (par2 > 255))
+                                       PARSE_ERROR1;
+                               m->vpar[1] = par1;
+                               m->vpar[2] = par2;
+                               break;
+                       } else
+                               if (*p[0] == '?') {
                                        p[0]++;
-                                       switch (*p[0]) {
-                                               case '2':
-                                               case '3':
-                                               case '4':
-                                               case '5':
-                                               case '6':
-                                                       par1 = isdn_getnum(p);
-                                                       if ((par1 < 2) || (par1 > 6))
-                                                               PARSE_ERROR1;
-                                                       m->vpar[3] = par1;
-                                                       break;
-                                               case '?':
-                                                       p[0]++;
-                                                       isdn_tty_at_cout("\r\n2;ADPCM;2;0;(8000)\r\n",
-                                                                  info);
-                                                       isdn_tty_at_cout("3;ADPCM;3;0;(8000)\r\n",
-                                                                  info);
-                                                       isdn_tty_at_cout("4;ADPCM;4;0;(8000)\r\n",
-                                                                  info);
-                                                       isdn_tty_at_cout("5;ALAW;8;0;(8000)\r\n",
-                                                                  info);
-                                                       isdn_tty_at_cout("6;ULAW;8;0;(8000)\r\n",
-                                                                  info);
-                                                       break;
-                                               default:
-                                                       PARSE_ERROR1;
-                                       }
+                                       isdn_tty_at_cout("\r\n<0-31>,<0-255>",
+                                                        info);
                                        break;
-                               default:
+                               } else
                                        PARSE_ERROR1;
-                       }
                        break;
-               case 6:
-                       /* AT+VTX - Start sending */
-                       if (!m->vpar[0])
+               default:
+                       PARSE_ERROR1;
+               }
+               break;
+       case 5:
+               /* AT+VSM - Select compression */
+               switch (*p[0]) {
+               case '?':
+                       p[0]++;
+                       sprintf(rs, "\r\n<%d>,<%d><8000>",
+                               m->vpar[3],
+                               m->vpar[1]);
+                       isdn_tty_at_cout(rs, info);
+                       break;
+               case '=':
+                       p[0]++;
+                       switch (*p[0]) {
+                       case '2':
+                       case '3':
+                       case '4':
+                       case '5':
+                       case '6':
+                               par1 = isdn_getnum(p);
+                               if ((par1 < 2) || (par1 > 6))
+                                       PARSE_ERROR1;
+                               m->vpar[3] = par1;
+                               break;
+                       case '?':
+                               p[0]++;
+                               isdn_tty_at_cout("\r\n2;ADPCM;2;0;(8000)\r\n",
+                                                info);
+                               isdn_tty_at_cout("3;ADPCM;3;0;(8000)\r\n",
+                                                info);
+                               isdn_tty_at_cout("4;ADPCM;4;0;(8000)\r\n",
+                                                info);
+                               isdn_tty_at_cout("5;ALAW;8;0;(8000)\r\n",
+                                                info);
+                               isdn_tty_at_cout("6;ULAW;8;0;(8000)\r\n",
+                                                info);
+                               break;
+                       default:
                                PARSE_ERROR1;
-                       if (info->online != 1) {
-                               isdn_tty_modem_result(RESULT_NO_ANSWER, info);
-                               return 1;
                        }
-                       info->dtmf_state = isdn_audio_dtmf_init(info->dtmf_state);
-                       if (!info->dtmf_state) {
-                               printk(KERN_WARNING "isdn_tty: Couldn't malloc dtmf state\n");
+                       break;
+               default:
+                       PARSE_ERROR1;
+               }
+               break;
+       case 6:
+               /* AT+VTX - Start sending */
+               if (!m->vpar[0])
+                       PARSE_ERROR1;
+               if (info->online != 1) {
+                       isdn_tty_modem_result(RESULT_NO_ANSWER, info);
+                       return 1;
+               }
+               info->dtmf_state = isdn_audio_dtmf_init(info->dtmf_state);
+               if (!info->dtmf_state) {
+                       printk(KERN_WARNING "isdn_tty: Couldn't malloc dtmf state\n");
+                       PARSE_ERROR1;
+               }
+               if (m->vpar[3] < 5) {
+                       info->adpcms = isdn_audio_adpcm_init(info->adpcms, m->vpar[3]);
+                       if (!info->adpcms) {
+                               printk(KERN_WARNING "isdn_tty: Couldn't malloc adpcm state\n");
                                PARSE_ERROR1;
                        }
-                       if (m->vpar[3] < 5) {
-                               info->adpcms = isdn_audio_adpcm_init(info->adpcms, m->vpar[3]);
-                               if (!info->adpcms) {
-                                       printk(KERN_WARNING "isdn_tty: Couldn't malloc adpcm state\n");
-                                       PARSE_ERROR1;
-                               }
-                       }
+               }
 #ifdef ISDN_DEBUG_AT
-                       printk(KERN_DEBUG "AT: +VTX\n");
+               printk(KERN_DEBUG "AT: +VTX\n");
 #endif
-                       m->lastDLE = 0;
-                       info->vonline |= 2;
-                       isdn_tty_modem_result(RESULT_CONNECT, info);
-                       return 0;
+               m->lastDLE = 0;
+               info->vonline |= 2;
+               isdn_tty_modem_result(RESULT_CONNECT, info);
+               return 0;
+               break;
+       case 7:
+               /* AT+VDD - DTMF detection */
+               switch (*p[0]) {
+               case '?':
+                       p[0]++;
+                       sprintf(rs, "\r\n<%d>,<%d>",
+                               m->vpar[4],
+                               m->vpar[5]);
+                       isdn_tty_at_cout(rs, info);
                        break;
-               case 7:
-                       /* AT+VDD - DTMF detection */
-                       switch (*p[0]) {
-                               case '?':
-                                       p[0]++;
-                                       sprintf(rs, "\r\n<%d>,<%d>",
-                                               m->vpar[4],
-                                               m->vpar[5]);
-                                       isdn_tty_at_cout(rs, info);
-                                       break;
-                               case '=':
-                                       p[0]++;
-                                       if ((*p[0]>='0') && (*p[0]<='9')) {
-                                               if (info->online != 1)
-                                                       PARSE_ERROR1;
-                                               par1 = isdn_getnum(p);
-                                               if ((par1 < 0) || (par1 > 15))
-                                                       PARSE_ERROR1;
-                                               if (*p[0] != ',')
-                                                       PARSE_ERROR1;
-                                               p[0]++;
-                                               par2 = isdn_getnum(p);
-                                               if ((par2 < 0) || (par2 > 255))
-                                                       PARSE_ERROR1;
-                                               m->vpar[4] = par1;
-                                               m->vpar[5] = par2;
-                                               cmd.driver = info->isdn_driver;
-                                               cmd.command = ISDN_CMD_AUDIO;
-                                               cmd.arg = info->isdn_channel + (ISDN_AUDIO_SETDD << 8);
-                                               cmd.parm.num[0] = par1;
-                                               cmd.parm.num[1] = par2;
-                                               isdn_command(&cmd);
-                                               break;
-                                       } else
-                                       if (*p[0] == '?') {
-                                               p[0]++;
-                                               isdn_tty_at_cout("\r\n<0-15>,<0-255>",
-                                                       info);
-                                               break;
-                                       } else
+               case '=':
+                       p[0]++;
+                       if ((*p[0] >= '0') && (*p[0] <= '9')) {
+                               if (info->online != 1)
                                        PARSE_ERROR1;
+                               par1 = isdn_getnum(p);
+                               if ((par1 < 0) || (par1 > 15))
+                                       PARSE_ERROR1;
+                               if (*p[0] != ',')
+                                       PARSE_ERROR1;
+                               p[0]++;
+                               par2 = isdn_getnum(p);
+                               if ((par2 < 0) || (par2 > 255))
+                                       PARSE_ERROR1;
+                               m->vpar[4] = par1;
+                               m->vpar[5] = par2;
+                               cmd.driver = info->isdn_driver;
+                               cmd.command = ISDN_CMD_AUDIO;
+                               cmd.arg = info->isdn_channel + (ISDN_AUDIO_SETDD << 8);
+                               cmd.parm.num[0] = par1;
+                               cmd.parm.num[1] = par2;
+                               isdn_command(&cmd);
+                               break;
+                       } else
+                               if (*p[0] == '?') {
+                                       p[0]++;
+                                       isdn_tty_at_cout("\r\n<0-15>,<0-255>",
+                                                        info);
                                        break;
-                               default:
+                               } else
                                        PARSE_ERROR1;
-                       }
                        break;
                default:
                        PARSE_ERROR1;
+               }
+               break;
+       default:
+               PARSE_ERROR1;
        }
        return 0;
 }
@@ -3507,7 +3507,7 @@ isdn_tty_cmd_PLUSV(char **p, modem_info * info)
  * Parse and perform an AT-command-line.
  */
 static void
-isdn_tty_parse_at(modem_info * info)
+isdn_tty_parse_at(modem_info *info)
 {
        atemu *m = &info->emu;
        char *p;
@@ -3518,188 +3518,188 @@ isdn_tty_parse_at(modem_info * info)
 #endif
        for (p = &m->mdmcmd[2]; *p;) {
                switch (*p) {
-                       case ' ':
-                               p++;
+               case ' ':
+                       p++;
+                       break;
+               case 'A':
+                       /* A - Accept incoming call */
+                       p++;
+                       isdn_tty_cmd_ATA(info);
+                       return;
+                       break;
+               case 'D':
+                       /* D - Dial */
+                       if (info->msr & UART_MSR_DCD)
+                               PARSE_ERROR;
+                       if (info->msr & UART_MSR_RI) {
+                               isdn_tty_modem_result(RESULT_NO_CARRIER, info);
+                               return;
+                       }
+                       isdn_tty_getdial(++p, ds, sizeof ds);
+                       p += strlen(p);
+                       if (!strlen(m->msn))
+                               isdn_tty_modem_result(RESULT_NO_MSN_EAZ, info);
+                       else if (strlen(ds))
+                               isdn_tty_dial(ds, info, m);
+                       else
+                               PARSE_ERROR;
+                       return;
+               case 'E':
+                       /* E - Turn Echo on/off */
+                       p++;
+                       switch (isdn_getnum(&p)) {
+                       case 0:
+                               m->mdmreg[REG_ECHO] &= ~BIT_ECHO;
                                break;
-                       case 'A':
-                               /* A - Accept incoming call */
+                       case 1:
+                               m->mdmreg[REG_ECHO] |= BIT_ECHO;
+                               break;
+                       default:
+                               PARSE_ERROR;
+                       }
+                       break;
+               case 'H':
+                       /* H - On/Off-hook */
+                       p++;
+                       switch (*p) {
+                       case '0':
                                p++;
-                               isdn_tty_cmd_ATA(info);
-                               return;
+                               isdn_tty_on_hook(info);
                                break;
-                       case 'D':
-                               /* D - Dial */
-                               if (info->msr & UART_MSR_DCD)
-                                       PARSE_ERROR;
-                               if (info->msr & UART_MSR_RI) {
-                                       isdn_tty_modem_result(RESULT_NO_CARRIER, info);
-                                       return;
-                               }
-                               isdn_tty_getdial(++p, ds, sizeof ds);
-                               p += strlen(p);
-                               if (!strlen(m->msn))
-                                       isdn_tty_modem_result(RESULT_NO_MSN_EAZ, info);
-                               else if (strlen(ds))
-                                       isdn_tty_dial(ds, info, m);
-                               else
-                                       PARSE_ERROR;
-                               return;
-                       case 'E':
-                               /* E - Turn Echo on/off */
+                       case '1':
                                p++;
-                               switch (isdn_getnum(&p)) {
-                                       case 0:
-                                               m->mdmreg[REG_ECHO] &= ~BIT_ECHO;
-                                               break;
-                                       case 1:
-                                               m->mdmreg[REG_ECHO] |= BIT_ECHO;
-                                               break;
-                                       default:
-                                               PARSE_ERROR;
-                               }
+                               isdn_tty_off_hook();
                                break;
-                       case 'H':
-                               /* H - On/Off-hook */
+                       default:
+                               isdn_tty_on_hook(info);
+                               break;
+                       }
+                       break;
+               case 'I':
+                       /* I - Information */
+                       p++;
+                       isdn_tty_at_cout("\r\nLinux ISDN", info);
+                       switch (*p) {
+                       case '0':
+                       case '1':
                                p++;
-                               switch (*p) {
-                                       case '0':
-                                               p++;
-                                               isdn_tty_on_hook(info);
-                                               break;
-                                       case '1':
-                                               p++;
-                                               isdn_tty_off_hook();
-                                               break;
-                                       default:
-                                               isdn_tty_on_hook(info);
-                                               break;
-                               }
                                break;
-                       case 'I':
-                               /* I - Information */
+                       case '2':
                                p++;
-                               isdn_tty_at_cout("\r\nLinux ISDN", info);
-                               switch (*p) {
-                                       case '0':
-                                       case '1':
-                                               p++;
-                                               break;
-                                       case '2':
-                                               p++;
-                                               isdn_tty_report(info);
-                                               break;
-                                       case '3':
-                                                p++;
-                                                snprintf(ds, sizeof(ds), "\r\n%d", info->emu.charge);
-                                                isdn_tty_at_cout(ds, info);
-                                                break;
-                                       default:;
-                               }
+                               isdn_tty_report(info);
                                break;
-#ifdef DUMMY_HAYES_AT
-                       case 'L':
-                       case 'M':
-                               /* only for be compilant with common scripts */
-                               /* no function */
+                       case '3':
                                p++;
-                               isdn_getnum(&p);
+                               snprintf(ds, sizeof(ds), "\r\n%d", info->emu.charge);
+                               isdn_tty_at_cout(ds, info);
                                break;
+                       default:;
+                       }
+                       break;
+#ifdef DUMMY_HAYES_AT
+               case 'L':
+               case 'M':
+                       /* only for be compilant with common scripts */
+                       /* no function */
+                       p++;
+                       isdn_getnum(&p);
+                       break;
 #endif
-                       case 'O':
-                               /* O - Go online */
-                               p++;
-                               if (info->msr & UART_MSR_DCD)
-                                       /* if B-Channel is up */
-                                       isdn_tty_modem_result((m->mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM) ? RESULT_CONNECT:RESULT_CONNECT64000, info);
-                               else
-                                       isdn_tty_modem_result(RESULT_NO_CARRIER, info);
+               case 'O':
+                       /* O - Go online */
+                       p++;
+                       if (info->msr & UART_MSR_DCD)
+                               /* if B-Channel is up */
+                               isdn_tty_modem_result((m->mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM) ? RESULT_CONNECT : RESULT_CONNECT64000, info);
+                       else
+                               isdn_tty_modem_result(RESULT_NO_CARRIER, info);
+                       return;
+               case 'Q':
+                       /* Q - Turn Emulator messages on/off */
+                       p++;
+                       switch (isdn_getnum(&p)) {
+                       case 0:
+                               m->mdmreg[REG_RESP] |= BIT_RESP;
+                               break;
+                       case 1:
+                               m->mdmreg[REG_RESP] &= ~BIT_RESP;
+                               break;
+                       default:
+                               PARSE_ERROR;
+                       }
+                       break;
+               case 'S':
+                       /* S - Set/Get Register */
+                       p++;
+                       if (isdn_tty_cmd_ATS(&p, info))
                                return;
-                       case 'Q':
-                               /* Q - Turn Emulator messages on/off */
-                               p++;
-                               switch (isdn_getnum(&p)) {
-                                       case 0:
-                                               m->mdmreg[REG_RESP] |= BIT_RESP;
-                                               break;
-                                       case 1:
-                                               m->mdmreg[REG_RESP] &= ~BIT_RESP;
-                                               break;
-                                       default:
-                                               PARSE_ERROR;
-                               }
+                       break;
+               case 'V':
+                       /* V - Numeric or ASCII Emulator-messages */
+                       p++;
+                       switch (isdn_getnum(&p)) {
+                       case 0:
+                               m->mdmreg[REG_RESP] |= BIT_RESPNUM;
+                               break;
+                       case 1:
+                               m->mdmreg[REG_RESP] &= ~BIT_RESPNUM;
                                break;
-                       case 'S':
-                               /* S - Set/Get Register */
+                       default:
+                               PARSE_ERROR;
+                       }
+                       break;
+               case 'Z':
+                       /* Z - Load Registers from Profile */
+                       p++;
+                       if (info->msr & UART_MSR_DCD) {
+                               info->online = 0;
+                               isdn_tty_on_hook(info);
+                       }
+                       isdn_tty_modem_reset_regs(info, 1);
+                       break;
+               case '+':
+                       p++;
+                       switch (*p) {
+#ifdef CONFIG_ISDN_AUDIO
+                       case 'F':
                                p++;
-                               if (isdn_tty_cmd_ATS(&p, info))
+                               if (isdn_tty_cmd_PLUSF(&p, info))
                                        return;
                                break;
                        case 'V':
-                               /* V - Numeric or ASCII Emulator-messages */
+                               if ((!(m->mdmreg[REG_SI1] & 1)) ||
+                                   (m->mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM))
+                                       PARSE_ERROR;
                                p++;
-                               switch (isdn_getnum(&p)) {
-                                       case 0:
-                                               m->mdmreg[REG_RESP] |= BIT_RESPNUM;
-                                               break;
-                                       case 1:
-                                               m->mdmreg[REG_RESP] &= ~BIT_RESPNUM;
-                                               break;
-                                       default:
-                                               PARSE_ERROR;
-                               }
+                               if (isdn_tty_cmd_PLUSV(&p, info))
+                                       return;
                                break;
-                       case 'Z':
-                               /* Z - Load Registers from Profile */
+#endif                          /* CONFIG_ISDN_AUDIO */
+                       case 'S':       /* SUSPEND */
                                p++;
-                               if (info->msr & UART_MSR_DCD) {
-                                       info->online = 0;
-                                       isdn_tty_on_hook(info);
-                               }
-                               isdn_tty_modem_reset_regs(info, 1);
+                               isdn_tty_get_msnstr(ds, &p);
+                               isdn_tty_suspend(ds, info, m);
                                break;
-                       case '+':
+                       case 'R':       /* RESUME */
                                p++;
-                               switch (*p) {
-#ifdef CONFIG_ISDN_AUDIO
-                                       case 'F':
-                                               p++;
-                                               if (isdn_tty_cmd_PLUSF(&p, info))
-                                                       return;
-                                               break;
-                                       case 'V':
-                                               if ((!(m->mdmreg[REG_SI1] & 1)) ||
-                                                       (m->mdmreg[REG_L2PROT] == ISDN_PROTO_L2_MODEM))
-                                                       PARSE_ERROR;
-                                               p++;
-                                               if (isdn_tty_cmd_PLUSV(&p, info))
-                                                       return;
-                                               break;
-#endif                          /* CONFIG_ISDN_AUDIO */
-                                       case 'S':       /* SUSPEND */
-                                               p++;
-                                               isdn_tty_get_msnstr(ds, &p);
-                                               isdn_tty_suspend(ds, info, m);
-                                               break;
-                                       case 'R':       /* RESUME */
-                                               p++;
-                                               isdn_tty_get_msnstr(ds, &p);
-                                               isdn_tty_resume(ds, info, m);
-                                               break;
-                                       case 'M':       /* MESSAGE */
-                                               p++;
-                                               isdn_tty_send_msg(info, m, p);
-                                               break;
-                                       default:
-                                               PARSE_ERROR;
-                               }
+                               isdn_tty_get_msnstr(ds, &p);
+                               isdn_tty_resume(ds, info, m);
                                break;
-                       case '&':
+                       case 'M':       /* MESSAGE */
                                p++;
-                               if (isdn_tty_cmd_ATand(&p, info))
-                                       return;
+                               isdn_tty_send_msg(info, m, p);
                                break;
                        default:
                                PARSE_ERROR;
+                       }
+                       break;
+               case '&':
+                       p++;
+                       if (isdn_tty_cmd_ATand(&p, info))
+                               return;
+                       break;
+               default:
+                       PARSE_ERROR;
                }
        }
 #ifdef CONFIG_ISDN_AUDIO
@@ -3711,7 +3711,7 @@ isdn_tty_parse_at(modem_info * info)
 /* Need own toupper() because standard-toupper is not available
  * within modules.
  */
-#define my_toupper(c) (((c>='a')&&(c<='z'))?(c&0xdf):c)
+#define my_toupper(c) (((c >= 'a') && (c <= 'z')) ? (c & 0xdf) : c)
 
 /*
  * Perform line-editing of AT-commands
@@ -3722,7 +3722,7 @@ isdn_tty_parse_at(modem_info * info)
  *   channel  index to line (minor-device)
  */
 static int
-isdn_tty_edit_at(const char *p, int count, modem_info * info)
+isdn_tty_edit_at(const char *p, int count, modem_info *info)
 {
        atemu *m = &info->emu;
        int total = 0;
@@ -3765,23 +3765,23 @@ isdn_tty_edit_at(const char *p, int count, modem_info * info)
                        if (m->mdmcmdl < 255) {
                                c = my_toupper(c);
                                switch (m->mdmcmdl) {
-                                       case 1:
-                                               if (c == 'T') {
-                                                       m->mdmcmd[m->mdmcmdl] = c;
-                                                       m->mdmcmd[++m->mdmcmdl] = 0;
-                                                       break;
-                                               } else
-                                                       m->mdmcmdl = 0;
-                                               /* Fall through, check for 'A' */
-                                       case 0:
-                                               if (c == 'A') {
-                                                       m->mdmcmd[m->mdmcmdl] = c;
-                                                       m->mdmcmd[++m->mdmcmdl] = 0;
-                                               }
+                               case 1:
+                                       if (c == 'T') {
+                                               m->mdmcmd[m->mdmcmdl] = c;
+                                               m->mdmcmd[++m->mdmcmdl] = 0;
                                                break;
-                                       default:
+                                       } else
+                                               m->mdmcmdl = 0;
+                                       /* Fall through, check for 'A' */
+                               case 0:
+                                       if (c == 'A') {
                                                m->mdmcmd[m->mdmcmdl] = c;
                                                m->mdmcmd[++m->mdmcmdl] = 0;
+                                       }
+                                       break;
+                               default:
+                                       m->mdmcmd[m->mdmcmdl] = c;
+                                       m->mdmcmd[++m->mdmcmdl] = 0;
                                }
                        }
                }