[patch] synclinkmp.c fix async internal loopback

From: Paul Fulghum
Date: Wed Sep 07 2005 - 12:45:37 EST


[patch] synclinkmp.c fix async internal loopback

From: Paul Fulghum <paulkf@xxxxxxxxxxxxx>

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@xxxxxxxxxxxxx>

--- linux-2.6.13/drivers/char/synclinkmp.c 2005-08-28 18:41:01.000000000 -0500
+++ linux-2.6.13-mg/drivers/char/synclinkmp.c 2005-09-07 12:28:21.000000000 -0500
@@ -4489,11 +4489,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
@@ -4574,9 +4576,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.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/