From 757bfe446bab7661d12a8772ca10b7a490c8aa47 Mon Sep 17 00:00:00 2001 From: Frank Li Date: Fri, 10 Dec 2010 18:59:07 +0800 Subject: ENGR00136218 FEC: Fix dhcp fail when enable preempt at mx28 DHCP fail when enable NO_HZ and preempt at mx28evk Signed-off-by: Zeng Zhaoming Signed-off-by: Frank Li --- drivers/net/fec.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/net') diff --git a/drivers/net/fec.c b/drivers/net/fec.c index e3ce06437e94..f58196019287 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -253,6 +253,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev) if (!fep->link) { /* Link is down or autonegotiation is in progress. */ + netif_stop_queue(dev); return NETDEV_TX_BUSY; } @@ -681,6 +682,7 @@ static void fec_enet_adjust_link(struct net_device *dev) if (phy_dev->link) { if (fep->full_duplex != phy_dev->duplex) { fec_restart(dev, phy_dev->duplex); + netif_wake_queue(dev); status_change = 1; } } @@ -1418,6 +1420,8 @@ fec_stop(struct net_device *dev) if (fep->ptimer_present) fec_ptp_stop(fep->ptp_priv); writel(FEC_DEFAULT_IMASK, fep->hwp + FEC_IMASK); + + fep->link = 0; } static int __devinit -- cgit v1.2.3