mv643xx_eth: move a couple of init actions from ->open() to port probe
Lennert Buytenhek [Tue, 24 Feb 2009 15:41:47 +0000 (15:41 +0000)]
Move the netif_carrier_off() call in ->open() to port probe, so that
ethtool doesn't report the link as being up before we have up'd the
interface.

Move initialisation of the rx/tx coalescing timers from ->open() to
port probe, so that we don't reset the coalescing timers every time
the interface is up'd.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/mv643xx_eth.c

index 7d10897..e1a18e3 100644 (file)
@@ -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;