diff --git a/drivers/net/ixp2000/pm3386.c b/drivers/net/ixp2000/pm3386.c
index 870b486f5deafb0789eb1a3e4007fcf84766672c..ec70b1d553e379053657c4a8b9f53c83309d0b37 100644
--- a/drivers/net/ixp2000/pm3386.c
+++ b/drivers/net/ixp2000/pm3386.c
@@ -250,6 +250,11 @@ void pm3386_get_stats(int port, struct net_device_stats *stats)
 	/* @@@ Add other stats.  */
 }
 
+void pm3386_set_carrier(int port, int state)
+{
+	pm3386_port_reg_write(port, 0x703, 0x10, state ? 0x1001 : 0x0000);
+}
+
 int pm3386_is_link_up(int port)
 {
 	u16 temp;
diff --git a/drivers/net/ixp2000/pm3386.h b/drivers/net/ixp2000/pm3386.h
index 117f50afcdeabee7d55132d95404bbdc67d47348..fe92bb056ac424c9279ca8501016d2f3452187c3 100644
--- a/drivers/net/ixp2000/pm3386.h
+++ b/drivers/net/ixp2000/pm3386.h
@@ -17,6 +17,7 @@ void pm3386_init_port(int port);
 void pm3386_get_mac(int port, u8 *mac);
 void pm3386_set_mac(int port, u8 *mac);
 void pm3386_get_stats(int port, struct net_device_stats *stats);
+void pm3386_set_carrier(int port, int state);
 int pm3386_is_link_up(int port);
 void pm3386_enable_rx(int port);
 void pm3386_disable_rx(int port);