forked from Minki/linux
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: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
900c6cfffa
commit
42f65cbad4
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user