Эх сурвалжийг харах

[PATCH] enp2611: disable/enable SERDES carrier on interface down/up

Disable/enable the SERDES carrier when an interface is administratively
downed/upped.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Lennert Buytenhek 19 жил өмнө
parent
commit
cffbfcaf00

+ 5 - 0
drivers/net/ixp2000/enp2611.c

@@ -175,10 +175,15 @@ static void enp2611_set_port_admin_status(int port, int up)
 {
 {
 	if (up) {
 	if (up) {
 		caleb_enable_rx(port);
 		caleb_enable_rx(port);
+
+		pm3386_set_carrier(port, 1);
 		pm3386_enable_rx(port);
 		pm3386_enable_rx(port);
 	} else {
 	} else {
 		caleb_disable_tx(port);
 		caleb_disable_tx(port);
 		pm3386_disable_tx(port);
 		pm3386_disable_tx(port);
+		/* @@@ Flush out pending packets.  */
+		pm3386_set_carrier(port, 0);
+
 		pm3386_disable_rx(port);
 		pm3386_disable_rx(port);
 		caleb_disable_rx(port);
 		caleb_disable_rx(port);
 	}
 	}