cxgb4: free mac_hlist properly

[ Upstream commit 2a8d84bf513823ba398f4b2dec41b8decf4041af ]

The locally maintained list for tracking hash mac table was
not freed during driver remove.

Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Arjun Vynipadath 2018-11-09 14:50:25 +05:30 committed by Greg Kroah-Hartman
parent 52fa232860
commit 6c1a6cea50

View File

@ -2256,6 +2256,8 @@ static int cxgb_up(struct adapter *adap)
static void cxgb_down(struct adapter *adapter)
{
struct hash_mac_addr *entry, *tmp;
cancel_work_sync(&adapter->tid_release_task);
cancel_work_sync(&adapter->db_full_task);
cancel_work_sync(&adapter->db_drop_task);
@ -2264,6 +2266,12 @@ static void cxgb_down(struct adapter *adapter)
t4_sge_stop(adapter);
t4_free_sge_resources(adapter);
list_for_each_entry_safe(entry, tmp, &adapter->mac_hlist, list) {
list_del(&entry->list);
kfree(entry);
}
adapter->flags &= ~FULL_INIT_DONE;
}