diff options
author | Paul Fulghum <paulkf@microgate.com> | 2005-09-09 16:02:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 16:57:35 -0400 |
commit | 6e8dcee3e63f5a2cba4affff4bbb6e228f4b258a (patch) | |
tree | 36a9e29e7b7c0690484e540c3bf0622b18ec0bc1 /drivers/char/synclinkmp.c | |
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/synclinkmp.c')
-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 eb31a3b865df..6fb165cf8a61 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c | |||
@@ -4479,11 +4479,13 @@ void async_mode(SLMP_INFO *info) | |||
4479 | /* MD2, Mode Register 2 | 4479 | /* MD2, Mode Register 2 |
4480 | * | 4480 | * |
4481 | * 07..02 Reserved, must be 0 | 4481 | * 07..02 Reserved, must be 0 |
4482 | * 01..00 CNCT<1..0> Channel connection, 0=normal | 4482 | * 01..00 CNCT<1..0> Channel connection, 00=normal 11=local loopback |
4483 | * | 4483 | * |
4484 | * 0000 0000 | 4484 | * 0000 0000 |
4485 | */ | 4485 | */ |
4486 | RegValue = 0x00; | 4486 | RegValue = 0x00; |
4487 | if (info->params.loopback) | ||
4488 | RegValue |= (BIT1 + BIT0); | ||
4487 | write_reg(info, MD2, RegValue); | 4489 | write_reg(info, MD2, RegValue); |
4488 | 4490 | ||
4489 | /* RXS, Receive clock source | 4491 | /* RXS, Receive clock source |
@@ -4564,9 +4566,6 @@ void async_mode(SLMP_INFO *info) | |||
4564 | write_reg(info, IE2, info->ie2_value); | 4566 | write_reg(info, IE2, info->ie2_value); |
4565 | 4567 | ||
4566 | set_rate( info, info->params.data_rate * 16 ); | 4568 | set_rate( info, info->params.data_rate * 16 ); |
4567 | |||
4568 | if (info->params.loopback) | ||
4569 | enable_loopback(info,1); | ||
4570 | } | 4569 | } |
4571 | 4570 | ||
4572 | /* Program the SCA for HDLC communications. | 4571 | /* Program the SCA for HDLC communications. |