mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
netxen: cleanup mac list on driver unload
This fixes a tiny memory leak when driver is unloaded. The mac address list maintained in netxen_adapter needs to deleted when driver is going down. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
27c915a4d8
commit
06e9d9f978
@ -1478,6 +1478,7 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter);
|
||||
u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max);
|
||||
void netxen_p2_nic_set_multi(struct net_device *netdev);
|
||||
void netxen_p3_nic_set_multi(struct net_device *netdev);
|
||||
void netxen_p3_free_mac_list(struct netxen_adapter *adapter);
|
||||
int netxen_p3_nic_set_promisc(struct netxen_adapter *adapter, u32);
|
||||
int netxen_config_intr_coalesce(struct netxen_adapter *adapter);
|
||||
|
||||
|
@ -627,6 +627,19 @@ int netxen_p3_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
|
||||
(struct cmd_desc_type0 *)&req, 1);
|
||||
}
|
||||
|
||||
void netxen_p3_free_mac_list(struct netxen_adapter *adapter)
|
||||
{
|
||||
nx_mac_list_t *cur, *next;
|
||||
|
||||
cur = adapter->mac_list;
|
||||
|
||||
while (cur) {
|
||||
next = cur->next;
|
||||
kfree(cur);
|
||||
cur = next;
|
||||
}
|
||||
}
|
||||
|
||||
#define NETXEN_CONFIG_INTR_COALESCE 3
|
||||
|
||||
/*
|
||||
|
@ -986,6 +986,9 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)
|
||||
netxen_free_hw_resources(adapter);
|
||||
netxen_release_rx_buffers(adapter);
|
||||
netxen_free_sw_resources(adapter);
|
||||
|
||||
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
|
||||
netxen_p3_free_mac_list(adapter);
|
||||
}
|
||||
|
||||
if (adapter->portnum == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user