Commit 698c33d8 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

ethernet: aquantia: use eth_hw_addr_set()

Commit 406f42fa ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it got through appropriate helpers.

Use an array on the stack, then call eth_hw_addr_set().
eth_hw_addr_set() is after error checking, this should
be fine, error propagates all the way to failing probe.
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f98c5050
...@@ -300,6 +300,7 @@ static bool aq_nic_is_valid_ether_addr(const u8 *addr) ...@@ -300,6 +300,7 @@ static bool aq_nic_is_valid_ether_addr(const u8 *addr)
int aq_nic_ndev_register(struct aq_nic_s *self) int aq_nic_ndev_register(struct aq_nic_s *self)
{ {
u8 addr[ETH_ALEN];
int err = 0; int err = 0;
if (!self->ndev) { if (!self->ndev) {
...@@ -316,12 +317,13 @@ int aq_nic_ndev_register(struct aq_nic_s *self) ...@@ -316,12 +317,13 @@ int aq_nic_ndev_register(struct aq_nic_s *self)
#endif #endif
mutex_lock(&self->fwreq_mutex); mutex_lock(&self->fwreq_mutex);
err = self->aq_fw_ops->get_mac_permanent(self->aq_hw, err = self->aq_fw_ops->get_mac_permanent(self->aq_hw, addr);
self->ndev->dev_addr);
mutex_unlock(&self->fwreq_mutex); mutex_unlock(&self->fwreq_mutex);
if (err) if (err)
goto err_exit; goto err_exit;
eth_hw_addr_set(self->ndev, addr);
if (!is_valid_ether_addr(self->ndev->dev_addr) || if (!is_valid_ether_addr(self->ndev->dev_addr) ||
!aq_nic_is_valid_ether_addr(self->ndev->dev_addr)) { !aq_nic_is_valid_ether_addr(self->ndev->dev_addr)) {
netdev_warn(self->ndev, "MAC is invalid, will use random."); netdev_warn(self->ndev, "MAC is invalid, will use random.");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment