aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlcnic
diff options
context:
space:
mode:
authorAmit Kumar Salecha <amit.salecha@qlogic.com>2010-04-07 16:51:49 -0700
committerDavid S. Miller <davem@davemloft.net>2010-04-07 16:51:49 -0700
commita55cb185b4a8f84cd05b66bb00b267ea455ecdc8 (patch)
tree58f5d702ca045acc4a48c6bc23d880fad5a35dea /drivers/net/qlcnic
parentr6040: fix r6040_multicast_list (diff)
downloadlinux-dev-a55cb185b4a8f84cd05b66bb00b267ea455ecdc8.tar.xz
linux-dev-a55cb185b4a8f84cd05b66bb00b267ea455ecdc8.zip
qlcnic: fix set mac addr
If interface is down, mac address request are not sent to fw but it is getting add in driver mac list. Driver mac list should be in sync with fw i.e addresses communicated to fw. 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')
-rw-r--r--drivers/net/qlcnic/qlcnic_hw.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c
index da00e162b6d3..b1753138ac98 100644
--- a/drivers/net/qlcnic/qlcnic_hw.c
+++ b/drivers/net/qlcnic/qlcnic_hw.c
@@ -430,6 +430,9 @@ void qlcnic_set_multi(struct net_device *netdev)
u8 bcast_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
u32 mode = VPORT_MISS_MODE_DROP;
+ if (adapter->is_up != QLCNIC_ADAPTER_UP_MAGIC)
+ return;
+
qlcnic_nic_add_mac(adapter, adapter->mac_addr);
qlcnic_nic_add_mac(adapter, bcast_addr);