diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index fb1d2c30c1bb4a34f0d89650e0ed75ed3b11256f..4fb3db99bcd1e4cbe837eb9fcd06b29fbbbe9f8b 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1511,6 +1511,13 @@ static int sky2_down(struct net_device *dev)
 	imask &= ~portirq_msk[port];
 	sky2_write32(hw, B0_IMSK, imask);
 
+	/*
+	 * Both ports share the NAPI poll on port 0, so if necessary undo the
+	 * the disable that is done in dev_close.
+	 */
+	if (sky2->port == 0 && hw->ports > 1)
+		netif_poll_enable(dev);
+
 	sky2_gmac_reset(hw, port);
 
 	/* Stop transmitter */