diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 7d10897dcc85f8e8732429459cd908d501f98238..e1a18e3540adff1fe1fcb647a17b3b2bcfbb6ef5 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c @@ -2388,13 +2388,8 @@ static int mv643xx_eth_open(struct net_device *dev) } } - netif_carrier_off(dev); - port_start(mp); - set_rx_coal(mp, 0); - set_tx_coal(mp, 0); - wrlp(mp, INT_MASK_EXT, INT_EXT_LINK_PHY | INT_EXT_TX); wrlp(mp, INT_MASK, INT_TX_END | INT_RX | INT_EXT); @@ -2960,6 +2955,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev) if (mp->shared->win_protect) wrl(mp, WINDOW_PROTECT(mp->port_num), mp->shared->win_protect); + netif_carrier_off(dev); + + set_rx_coal(mp, 0); + set_tx_coal(mp, 0); + err = register_netdev(dev); if (err) goto out;