summaryrefslogtreecommitdiffstats
path: root/drivers/net/ixp2000/enp2611.c
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2005-11-23 12:49:59 +0100
committerJeff Garzik <jgarzik@pobox.com>2005-12-01 02:25:27 -0500
commitcffbfcaf00c4a36592fabd54ae9f960b552322b6 (patch)
tree02331a95ba0130f090cb9234e253dd2678da7c0d /drivers/net/ixp2000/enp2611.c
parentc6e429bdd6f0142558896e29c21a526c1ffdd1f3 (diff)
[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>
Diffstat (limited to 'drivers/net/ixp2000/enp2611.c')
-rw-r--r--drivers/net/ixp2000/enp2611.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ixp2000/enp2611.c b/drivers/net/ixp2000/enp2611.c
index 2542e3bacfb..d82651a97ba 100644
--- a/drivers/net/ixp2000/enp2611.c
+++ b/drivers/net/ixp2000/enp2611.c
@@ -175,10 +175,15 @@ static void enp2611_set_port_admin_status(int port, int up)
{
if (up) {
caleb_enable_rx(port);
+
+ pm3386_set_carrier(port, 1);
pm3386_enable_rx(port);
} else {
caleb_disable_tx(port);
pm3386_disable_tx(port);
+ /* @@@ Flush out pending packets. */
+ pm3386_set_carrier(port, 0);
+
pm3386_disable_rx(port);
caleb_disable_rx(port);
}