diff options
Diffstat (limited to 'drivers/isdn/i4l/isdn_tty.c')
-rw-r--r-- | drivers/isdn/i4l/isdn_tty.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index 4e5f87c1e714..9cb6e5021adb 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c | |||
@@ -85,6 +85,8 @@ isdn_tty_try_read(modem_info * info, struct sk_buff *skb) | |||
85 | tty_insert_flip_char(tty, DLE, 0); | 85 | tty_insert_flip_char(tty, DLE, 0); |
86 | tty_insert_flip_char(tty, *dp++, 0); | 86 | tty_insert_flip_char(tty, *dp++, 0); |
87 | } | 87 | } |
88 | if (*dp == DLE) | ||
89 | tty_insert_flip_char(tty, DLE, 0); | ||
88 | last = *dp; | 90 | last = *dp; |
89 | } else { | 91 | } else { |
90 | #endif | 92 | #endif |
@@ -2645,7 +2647,12 @@ isdn_tty_modem_result(int code, modem_info * info) | |||
2645 | if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { | 2647 | if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { |
2646 | return; | 2648 | return; |
2647 | } | 2649 | } |
2650 | #ifdef CONFIG_ISDN_AUDIO | ||
2651 | if ( !info->vonline ) | ||
2652 | tty_ldisc_flush(info->tty); | ||
2653 | #else | ||
2648 | tty_ldisc_flush(info->tty); | 2654 | tty_ldisc_flush(info->tty); |
2655 | #endif | ||
2649 | if ((info->flags & ISDN_ASYNC_CHECK_CD) && | 2656 | if ((info->flags & ISDN_ASYNC_CHECK_CD) && |
2650 | (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && | 2657 | (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && |
2651 | (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) { | 2658 | (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) { |