Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42f65cba authored by Amit Kumar Salecha's avatar Amit Kumar Salecha Committed by David S. Miller
Browse files

qlcnic: fix mac address mgmt



We first add mac address in driver local list and then send command to
fw to add same. There are checks in driver to ensure send command doesn't fail
before adding mac address in local list.

But instead fix should be:
Add mac address in fw and if it succeeds, add it in driver local list.

Signed-off-by: default avatarAmit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 900c6cff
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -413,10 +413,15 @@ static int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, u8 *addr)
		return -ENOMEM;
	}
	memcpy(cur->mac_addr, addr, ETH_ALEN);
	list_add_tail(&cur->list, &adapter->mac_list);

	return qlcnic_sre_macaddr_change(adapter,
				cur->mac_addr, QLCNIC_MAC_ADD);
	if (qlcnic_sre_macaddr_change(adapter,
				cur->mac_addr, QLCNIC_MAC_ADD)) {
		kfree(cur);
		return -EIO;
	}

	list_add_tail(&cur->list, &adapter->mac_list);
	return 0;
}

void qlcnic_set_multi(struct net_device *netdev)