diff options
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h | 1 |
2 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index a8a27c5e8aeb..bce312a26e7c 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -261,16 +261,16 @@ int aq_nic_ndev_register(struct aq_nic_s *self) ether_addr_copy(self->ndev->dev_addr, mac_addr_permanent); } #endif - err = register_netdev(self->ndev); - if (err < 0) - goto err_exit; - self->is_ndev_registered = true; netif_carrier_off(self->ndev); for (i = AQ_CFG_VECS_MAX; i--;) aq_nic_ndev_queue_stop(self, i); + err = register_netdev(self->ndev); + if (err < 0) + goto err_exit; + err_exit: return err; } @@ -293,7 +293,7 @@ void aq_nic_ndev_free(struct aq_nic_s *self) if (!self->ndev) goto err_exit; - if (self->is_ndev_registered) + if (self->ndev->reg_state == NETREG_REGISTERED) unregister_netdev(self->ndev); if (self->aq_hw) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h b/drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h index f81738a71c42..e7d2711dc165 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h @@ -22,7 +22,6 @@ struct aq_nic_s { unsigned int aq_vecs; unsigned int packet_filter; unsigned int power_state; - bool is_ndev_registered; u8 port; struct aq_hw_ops aq_hw_ops; struct aq_hw_caps_s aq_hw_caps; |