diff options
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) |