All init functions call ndo_stop if it's defined, so move it
to common function.

Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
---
 drivers/staging/octeon/ethernet-rgmii.c | 1 -
 drivers/staging/octeon/ethernet-sgmii.c | 1 -
 drivers/staging/octeon/ethernet-xaui.c  | 1 -
 drivers/staging/octeon/ethernet.c       | 3 +++
 4 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/octeon/ethernet-rgmii.c 
b/drivers/staging/octeon/ethernet-rgmii.c
index c428a45..a6b8531 100644
--- a/drivers/staging/octeon/ethernet-rgmii.c
+++ b/drivers/staging/octeon/ethernet-rgmii.c
@@ -314,7 +314,6 @@ int cvm_oct_rgmii_init(struct net_device *dev)
        int r;
 
        cvm_oct_common_init(dev);
-       dev->netdev_ops->ndo_stop(dev);
        INIT_WORK(&priv->port_work, cvm_oct_rgmii_immediate_poll);
        /*
         * Due to GMX errata in CN3XXX series chips, it is necessary
diff --git a/drivers/staging/octeon/ethernet-sgmii.c 
b/drivers/staging/octeon/ethernet-sgmii.c
index ece2880..cd791c3 100644
--- a/drivers/staging/octeon/ethernet-sgmii.c
+++ b/drivers/staging/octeon/ethernet-sgmii.c
@@ -85,7 +85,6 @@ int cvm_oct_sgmii_open(struct net_device *dev)
 int cvm_oct_sgmii_init(struct net_device *dev)
 {
        cvm_oct_common_init(dev);
-       dev->netdev_ops->ndo_stop(dev);
 
        /* FIXME: Need autoneg logic */
        return 0;
diff --git a/drivers/staging/octeon/ethernet-xaui.c 
b/drivers/staging/octeon/ethernet-xaui.c
index e8e51ed..5782c38 100644
--- a/drivers/staging/octeon/ethernet-xaui.c
+++ b/drivers/staging/octeon/ethernet-xaui.c
@@ -87,7 +87,6 @@ int cvm_oct_xaui_init(struct net_device *dev)
        struct octeon_ethernet *priv = netdev_priv(dev);
 
        cvm_oct_common_init(dev);
-       dev->netdev_ops->ndo_stop(dev);
        if (!octeon_is_simulation() && priv->phydev == NULL)
                priv->poll = cvm_oct_xaui_poll;
 
diff --git a/drivers/staging/octeon/ethernet.c 
b/drivers/staging/octeon/ethernet.c
index f26844c..49c01f2 100644
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -478,6 +478,9 @@ int cvm_oct_common_init(struct net_device *dev)
        memset(dev->netdev_ops->ndo_get_stats(dev), 0,
               sizeof(struct net_device_stats));
 
+       if (dev->netdev_ops->ndo_stop)
+               dev->netdev_ops->ndo_stop(dev);
+
        return 0;
 }
 
-- 
2.3.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to