[patch] synclinkmp.c fix async internal loopback

From: Paul Fulghum <[EMAIL PROTECTED]>

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 <[EMAIL PROTECTED]>

--- 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to