diff options
author | Igor Russkikh <igor.russkikh@aquantia.com> | 2017-10-19 11:23:55 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-21 07:32:24 -0400 |
commit | 93d87b8fbe6cf17f0ad9552a934b5a6623ccd7d1 (patch) | |
tree | e496c807a7c0d176117b65e68cdc3917bfc9732f | |
parent | 5d8d84e91d7432cd206b27ad791a11220689ac53 (diff) |
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.c | 2 |
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) | |||
337 | } | 337 | } |
338 | if (netif_running(ndev)) | 338 | if (netif_running(ndev)) |
339 | netif_tx_disable(ndev); | 339 | netif_tx_disable(ndev); |
340 | netif_carrier_off(self->ndev); | ||
340 | 341 | ||
341 | for (self->aq_vecs = 0; self->aq_vecs < self->aq_nic_cfg.vecs; | 342 | for (self->aq_vecs = 0; self->aq_vecs < self->aq_nic_cfg.vecs; |
342 | self->aq_vecs++) { | 343 | self->aq_vecs++) { |
@@ -902,6 +903,7 @@ int aq_nic_stop(struct aq_nic_s *self) | |||
902 | unsigned int i = 0U; | 903 | unsigned int i = 0U; |
903 | 904 | ||
904 | netif_tx_disable(self->ndev); | 905 | netif_tx_disable(self->ndev); |
906 | netif_carrier_off(self->ndev); | ||
905 | 907 | ||
906 | del_timer_sync(&self->service_timer); | 908 | del_timer_sync(&self->service_timer); |
907 | 909 | ||