diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-05-05 19:05:07 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-06 15:33:36 -0700 |
commit | 5cf4d323f8864dab818d500ec74f2fcb9ad5bf89 (patch) | |
tree | 5f90365023b2b7a78852be460b770c5ae8731723 /drivers/net/netxen/netxen_nic_main.c | |
parent | netxen: fix race in tx ring acccess (diff) | |
download | linux-dev-5cf4d323f8864dab818d500ec74f2fcb9ad5bf89.tar.xz linux-dev-5cf4d323f8864dab818d500ec74f2fcb9ad5bf89.zip |
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) if (adapter->stop_port) adapter->stop_port(adapter); + if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) + netxen_p3_free_mac_list(adapter); + netxen_release_tx_buffers(adapter); FLUSH_SCHEDULED_WORK(); @@ -961,6 +964,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) rwlock_init(&adapter->adapter_lock); spin_lock_init(&adapter->tx_clean_lock); + INIT_LIST_HEAD(&adapter->mac_list); err = netxen_setup_pci_map(adapter); if (err) @@ -1114,9 +1118,6 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) { netxen_nic_detach(adapter); - - if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) - netxen_p3_free_mac_list(adapter); } if (adapter->portnum == 0) |