diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-04-14 21:32:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-16 05:34:54 -0400 |
commit | fe957c40ec5e2763b9977c565beab3bde3aaf85b (patch) | |
tree | 07e10dff2cdaa3a9414fa19864f181eb65082942 /drivers/net/fec.c | |
parent | f0b3fbeae11a526c3d308b691684589ee37c359b (diff) |
fec: call fec_restart() in fec_open()
We called fec_stop() in fec_enet_close(), thus we have to call
fec_restart() in fec_enet_open().
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r-- | drivers/net/fec.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 54d6f86d9f6d..63eaf5de2300 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
@@ -1489,6 +1489,8 @@ fec_enet_open(struct net_device *dev) | |||
1489 | fep->sequence_done = 0; | 1489 | fep->sequence_done = 0; |
1490 | fep->link = 0; | 1490 | fep->link = 0; |
1491 | 1491 | ||
1492 | fec_restart(dev, 1); | ||
1493 | |||
1492 | if (fep->phy) { | 1494 | if (fep->phy) { |
1493 | mii_do_cmd(dev, fep->phy->ack_int); | 1495 | mii_do_cmd(dev, fep->phy->ack_int); |
1494 | mii_do_cmd(dev, fep->phy->config); | 1496 | mii_do_cmd(dev, fep->phy->config); |
@@ -1505,18 +1507,14 @@ fec_enet_open(struct net_device *dev) | |||
1505 | schedule(); | 1507 | schedule(); |
1506 | 1508 | ||
1507 | mii_do_cmd(dev, fep->phy->startup); | 1509 | mii_do_cmd(dev, fep->phy->startup); |
1508 | |||
1509 | /* Set the initial link state to true. A lot of hardware | ||
1510 | * based on this device does not implement a PHY interrupt, | ||
1511 | * so we are never notified of link change. | ||
1512 | */ | ||
1513 | fep->link = 1; | ||
1514 | } else { | ||
1515 | fep->link = 1; /* lets just try it and see */ | ||
1516 | /* no phy, go full duplex, it's most likely a hub chip */ | ||
1517 | fec_restart(dev, 1); | ||
1518 | } | 1510 | } |
1519 | 1511 | ||
1512 | /* Set the initial link state to true. A lot of hardware | ||
1513 | * based on this device does not implement a PHY interrupt, | ||
1514 | * so we are never notified of link change. | ||
1515 | */ | ||
1516 | fep->link = 1; | ||
1517 | |||
1520 | netif_start_queue(dev); | 1518 | netif_start_queue(dev); |
1521 | fep->opened = 1; | 1519 | fep->opened = 1; |
1522 | return 0; | 1520 | return 0; |