summaryrefslogtreecommitdiffstats
path: root/drivers
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 08:25:27 +0100
commitcffbfcaf00c4a36592fabd54ae9f960b552322b6 (patch)
tree02331a95ba0130f090cb9234e253dd2678da7c0d /drivers
parent[PATCH] pm3386: implement reset (diff)
downloadlinux-cffbfcaf00c4a36592fabd54ae9f960b552322b6.tar.xz
linux-cffbfcaf00c4a36592fabd54ae9f960b552322b6.zip
[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')
-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 2542e3bacfb9..d82651a97bae 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);
}