diff --git a/drivers/net/ixp2000/enp2611.c b/drivers/net/ixp2000/enp2611.c
index 2542e3bacfb9e8838c59744f117fe63e8d5a6887..d82651a97bae95a6879dc0f22a5d02f8db9e2705 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);
 	}