aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r--drivers/net/fec.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index bd6983d1afba..16fc12fe933c 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -22,7 +22,7 @@
22 * Copyright (c) 2001-2005 Greg Ungerer (gerg@snapgear.com) 22 * Copyright (c) 2001-2005 Greg Ungerer (gerg@snapgear.com)
23 * 23 *
24 * Bug fixes and cleanup by Philippe De Muyter (phdm@macqel.be) 24 * Bug fixes and cleanup by Philippe De Muyter (phdm@macqel.be)
25 * Copyright (c) 2004-2005 Macq Electronique SA. 25 * Copyright (c) 2004-2006 Macq Electronique SA.
26 */ 26 */
27 27
28#include <linux/config.h> 28#include <linux/config.h>
@@ -2420,9 +2420,16 @@ fec_stop(struct net_device *dev)
2420 fep = netdev_priv(dev); 2420 fep = netdev_priv(dev);
2421 fecp = fep->hwp; 2421 fecp = fep->hwp;
2422 2422
2423 fecp->fec_x_cntrl = 0x01; /* Graceful transmit stop */ 2423 /*
2424 2424 ** We cannot expect a graceful transmit stop without link !!!
2425 while(!(fecp->fec_ievent & FEC_ENET_GRA)); 2425 */
2426 if (fep->link)
2427 {
2428 fecp->fec_x_cntrl = 0x01; /* Graceful transmit stop */
2429 udelay(10);
2430 if (!(fecp->fec_ievent & FEC_ENET_GRA))
2431 printk("fec_stop : Graceful transmit stop did not complete !\n");
2432 }
2426 2433
2427 /* Whack a reset. We should wait for this. 2434 /* Whack a reset. We should wait for this.
2428 */ 2435 */