netxen: fix set mac addr
authorAmit Kumar Salecha <amit.salecha@qlogic.com>
Thu, 7 Jan 2010 22:10:16 +0000 (22:10 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 7 Mar 2011 23:17:56 +0000 (15:17 -0800)
commit d49c9640975355c79f346869831bf9780d185de0 upstream.

o If tx and rx resources are not available, during set mac request.
  Then this request wont be passed to firmware and it will be added to
  driver mac list and will never make it to firmware.
  So if resources are not available, don't add it to driver mac list.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/netxen/netxen_nic_hw.c

index 52a3798d8d947a9992762dab2987df158b6252bd..7e494debb7f14bedaec08ec2e0dc1535d4f73248 100644 (file)
@@ -685,6 +685,9 @@ void netxen_p3_nic_set_multi(struct net_device *netdev)
        struct list_head *head;
        nx_mac_list_t *cur;
 
+       if (adapter->is_up != NETXEN_ADAPTER_UP_MAGIC)
+               return;
+
        list_splice_tail_init(&adapter->mac_list, &del_list);
 
        nx_p3_nic_add_mac(adapter, adapter->mac_addr, &del_list);