aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlcnic/qlcnic_main.c
diff options
context:
space:
mode:
authoramit salecha <amit.salecha@qlogic.com>2010-10-26 17:53:07 +0000
committerDavid S. Miller <davem@davemloft.net>2010-10-27 12:21:53 -0700
commite5edb7b19fd207f78adfdf4d9d5e1dd74a7eabd3 (patch)
tree2bf861e9ec8cb407892b6271289a22925af6ae27 /drivers/net/qlcnic/qlcnic_main.c
parente5ccd96110d5ac0f73b695ba606feb6d69472f26 (diff)
downloadkernel_samsung_smdk4412-e5edb7b19fd207f78adfdf4d9d5e1dd74a7eabd3.zip
kernel_samsung_smdk4412-e5edb7b19fd207f78adfdf4d9d5e1dd74a7eabd3.tar.gz
kernel_samsung_smdk4412-e5edb7b19fd207f78adfdf4d9d5e1dd74a7eabd3.tar.bz2
qlcnic: fix mac learning
In failover bonding case, same mac address can be programmed on other slave function. Fw will delete old entry (original func) associated with that mac address. Need to reporgram mac address, if failover again happen to original function. Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_main.c')
-rw-r--r--drivers/net/qlcnic/qlcnic_main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index f047c7c..5a3ce08 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -1860,6 +1860,11 @@ qlcnic_send_filter(struct qlcnic_adapter *adapter,
hlist_for_each_entry_safe(tmp_fil, tmp_hnode, n, head, fnode) {
if (!memcmp(tmp_fil->faddr, &src_addr, ETH_ALEN) &&
tmp_fil->vlan_id == vlan_id) {
+
+ if (jiffies >
+ (QLCNIC_READD_AGE * HZ + tmp_fil->ftime))
+ qlcnic_change_filter(adapter, src_addr, vlan_id,
+ tx_ring);
tmp_fil->ftime = jiffies;
return;
}