diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-05-05 15:05:07 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-06 18:33:36 -0400 |
commit | 5cf4d323f8864dab818d500ec74f2fcb9ad5bf89 (patch) | |
tree | 5f90365023b2b7a78852be460b770c5ae8731723 /drivers/net/netxen/netxen_nic_main.c | |
parent | 22527864ed7ee6c50f3c4d4b03c83c963caf5c0b (diff) |
netxen: fix mac list management
o use standard linked list api for mac addr list management
in NX3031.
o release mac addresses in firmware in dev close().
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_main.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 6a496b1909eb..a5577f8b6c0a 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -815,6 +815,9 @@ netxen_nic_down(struct netxen_adapter *adapter, struct net_device *netdev) | |||
815 | if (adapter->stop_port) | 815 | if (adapter->stop_port) |
816 | adapter->stop_port(adapter); | 816 | adapter->stop_port(adapter); |
817 | 817 | ||
818 | if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) | ||
819 | netxen_p3_free_mac_list(adapter); | ||
820 | |||
818 | netxen_release_tx_buffers(adapter); | 821 | netxen_release_tx_buffers(adapter); |
819 | 822 | ||
820 | FLUSH_SCHEDULED_WORK(); | 823 | FLUSH_SCHEDULED_WORK(); |
@@ -961,6 +964,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
961 | 964 | ||
962 | rwlock_init(&adapter->adapter_lock); | 965 | rwlock_init(&adapter->adapter_lock); |
963 | spin_lock_init(&adapter->tx_clean_lock); | 966 | spin_lock_init(&adapter->tx_clean_lock); |
967 | INIT_LIST_HEAD(&adapter->mac_list); | ||
964 | 968 | ||
965 | err = netxen_setup_pci_map(adapter); | 969 | err = netxen_setup_pci_map(adapter); |
966 | if (err) | 970 | if (err) |
@@ -1114,9 +1118,6 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
1114 | 1118 | ||
1115 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) { | 1119 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) { |
1116 | netxen_nic_detach(adapter); | 1120 | netxen_nic_detach(adapter); |
1117 | |||
1118 | if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) | ||
1119 | netxen_p3_free_mac_list(adapter); | ||
1120 | } | 1121 | } |
1121 | 1122 | ||
1122 | if (adapter->portnum == 0) | 1123 | if (adapter->portnum == 0) |