Fix broken CLIR in isdn driver
authorKarsten Keil <kkeil@suse.de>
Fri, 1 Jun 2007 07:46:55 +0000 (00:46 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 1 Jun 2007 15:18:29 +0000 (08:18 -0700)
I noticed that CLIR (aka "hide your calling number") in isdn_tty is broken:
The at-command parser filters out the required "R" (e.g.  ATDR089123456)
It's been broken for a *very* long time.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Matthias Goebl <matthias.goebl@goebl.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/isdn/i4l/isdn_tty.c

index ea5f30d4a5a23377bd2527211081b6bd0ff3e278..4e5f87c1e71413bb3d15d65e5edf3ae011746b20 100644 (file)
@@ -2693,8 +2693,9 @@ isdn_tty_getdial(char *p, char *q,int cnt)
        int limit = ISDN_MSNLEN - 1;    /* MUST match the size of interface var to avoid
                                        buffer overflow */
 
-       while (strchr(" 0123456789,#.*WPTS-", *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--;