|
@@ -1489,6 +1489,8 @@ fec_enet_open(struct net_device *dev)
|
|
|
fep->sequence_done = 0;
|
|
|
fep->link = 0;
|
|
|
|
|
|
+ fec_restart(dev, 1);
|
|
|
+
|
|
|
if (fep->phy) {
|
|
|
mii_do_cmd(dev, fep->phy->ack_int);
|
|
|
mii_do_cmd(dev, fep->phy->config);
|
|
@@ -1505,18 +1507,14 @@ fec_enet_open(struct net_device *dev)
|
|
|
schedule();
|
|
|
|
|
|
mii_do_cmd(dev, fep->phy->startup);
|
|
|
-
|
|
|
- /* Set the initial link state to true. A lot of hardware
|
|
|
- * based on this device does not implement a PHY interrupt,
|
|
|
- * so we are never notified of link change.
|
|
|
- */
|
|
|
- fep->link = 1;
|
|
|
- } else {
|
|
|
- fep->link = 1; /* lets just try it and see */
|
|
|
- /* no phy, go full duplex, it's most likely a hub chip */
|
|
|
- fec_restart(dev, 1);
|
|
|
}
|
|
|
|
|
|
+ /* Set the initial link state to true. A lot of hardware
|
|
|
+ * based on this device does not implement a PHY interrupt,
|
|
|
+ * so we are never notified of link change.
|
|
|
+ */
|
|
|
+ fep->link = 1;
|
|
|
+
|
|
|
netif_start_queue(dev);
|
|
|
fep->opened = 1;
|
|
|
return 0;
|