From ae6a5712e68a4e79747095eb3a2e5d387ecf5e13 Mon Sep 17 00:00:00 2001
From: Patrick Bruenn
Date: Thu, 5 Jun 2014 16:14:13 +0200
Subject: [PATCH] move first *_carrier_off() in front of register_netdev()/
ecdev_open()
---
devices/ccat/netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/devices/ccat/netdev.c b/devices/ccat/netdev.c
index 10d8ded0..65186318 100644
--- a/devices/ccat/netdev.c
+++ b/devices/ccat/netdev.c
@@ -320,6 +320,8 @@ struct ccat_eth_priv *ccat_eth_init(const struct ccat_device *const ccatdev,
priv->stop_queue = ecdev_nop;
priv->tx_fifo_full = ecdev_tx_fifo_full;
priv->unregister = unregister_ecdev;
+
+ priv->carrier_off(netdev);
if (ecdev_open(priv->ecdev)) {
pr_info("unable to register network device.\n");
ecdev_withdraw(priv->ecdev);
@@ -339,6 +341,8 @@ struct ccat_eth_priv *ccat_eth_init(const struct ccat_device *const ccatdev,
priv->stop_queue = netif_stop_queue;
priv->tx_fifo_full = ccat_eth_tx_fifo_full;
priv->unregister = unregister_netdev;
+
+ priv->carrier_off(netdev);
if (register_netdev(netdev)) {
pr_info("unable to register network device.\n");
ccat_eth_priv_free_dma(priv);
@@ -361,7 +365,6 @@ static int ccat_eth_open(struct net_device *dev)
{
struct ccat_eth_priv *const priv = netdev_priv(dev);
- priv->carrier_off(dev);
hrtimer_init(&priv->poll_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
priv->poll_timer.function = poll_timer_callback;
hrtimer_start(&priv->poll_timer, ktime_set(0, 100000),