Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e8dcee3 authored by Paul Fulghum's avatar Paul Fulghum Committed by Linus Torvalds
Browse files

[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: default avatarPaul Fulghum <paulkf@microgate.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 166692e4
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -4479,11 +4479,13 @@ void async_mode(SLMP_INFO *info)
	/* MD2, Mode Register 2
	/* MD2, Mode Register 2
	 *
	 *
	 * 07..02  Reserved, must be 0
	 * 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
	 * 0000 0000
	 */
	 */
	RegValue = 0x00;
	RegValue = 0x00;
	if (info->params.loopback)
		RegValue |= (BIT1 + BIT0);
	write_reg(info, MD2, RegValue);
	write_reg(info, MD2, RegValue);


	/* RXS, Receive clock source
	/* RXS, Receive clock source
@@ -4564,9 +4566,6 @@ void async_mode(SLMP_INFO *info)
	write_reg(info, IE2, info->ie2_value);
	write_reg(info, IE2, info->ie2_value);


	set_rate( info, info->params.data_rate * 16 );
	set_rate( info, info->params.data_rate * 16 );

	if (info->params.loopback)
		enable_loopback(info,1);
}
}


/* Program the SCA for HDLC communications.
/* Program the SCA for HDLC communications.