diff options
author | Paul Fulghum <paulkf@microgate.com> | 2005-09-09 13:02:17 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 13:57:35 -0700 |
commit | 6e8dcee3e63f5a2cba4affff4bbb6e228f4b258a (patch) | |
tree | 36a9e29e7b7c0690484e540c3bf0622b18ec0bc1 /drivers/char | |
parent | 166692e4a045348109f66b493e1b41afde6f3769 (diff) |
[PATCH] synclinkmp.c: fix async internal loopback
Fix async internal loopback by not using enable_loopback function which
reprograms clocking and should only be used for hdlc mode.
Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/synclinkmp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c index eb31a3b865d..6fb165cf8a6 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c @@ -4479,11 +4479,13 @@ void async_mode(SLMP_INFO *info) /* MD2, Mode Register 2 * * 07..02 Reserved, must be 0 - * 01..00 CNCT<1..0> Channel connection, 0=normal + * 01..00 CNCT<1..0> Channel connection, 00=normal 11=local loopback * * 0000 0000 */ RegValue = 0x00; + if (info->params.loopback) + RegValue |= (BIT1 + BIT0); write_reg(info, MD2, RegValue); /* RXS, Receive clock source @@ -4564,9 +4566,6 @@ void async_mode(SLMP_INFO *info) write_reg(info, IE2, info->ie2_value); set_rate( info, info->params.data_rate * 16 ); - - if (info->params.loopback) - enable_loopback(info,1); } /* Program the SCA for HDLC communications. |