aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIgor Russkikh <igor.russkikh@aquantia.com>2017-10-19 18:23:55 +0300
committerDavid S. Miller <davem@davemloft.net>2017-10-21 12:32:24 +0100
commit93d87b8fbe6cf17f0ad9552a934b5a6623ccd7d1 (patch)
treee496c807a7c0d176117b65e68cdc3917bfc9732f
parentnet: aquantia: Add queue restarts stats counter (diff)
downloadwireguard-linux-93d87b8fbe6cf17f0ad9552a934b5a6623ccd7d1.tar.xz
wireguard-linux-93d87b8fbe6cf17f0ad9552a934b5a6623ccd7d1.zip
net: aquantia: Fixed transient link up/down/up notification
When doing ifconfig down/up, driver did not reported carrier_off neither in nic_stop nor in nic_start. That caused link to be visible as "up" during couple of seconds immediately after "ifconfig up". Signed-off-by: Pavel Belous <pavel.belous@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/aquantia/atlantic/aq_nic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
index 6b49dd658012..9378b4877783 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
@@ -337,6 +337,7 @@ struct aq_nic_s *aq_nic_alloc_hot(struct net_device *ndev)
}
if (netif_running(ndev))
netif_tx_disable(ndev);
+ netif_carrier_off(self->ndev);
for (self->aq_vecs = 0; self->aq_vecs < self->aq_nic_cfg.vecs;
self->aq_vecs++) {
@@ -902,6 +903,7 @@ int aq_nic_stop(struct aq_nic_s *self)
unsigned int i = 0U;
netif_tx_disable(self->ndev);
+ netif_carrier_off(self->ndev);
del_timer_sync(&self->service_timer);