diff options
author | Vishal Kulkarni <vishal@chelsio.com> | 2019-04-26 13:58:48 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-04-27 22:25:37 -0400 |
commit | b1a79360ee862f8ada4798ad2346fa45bb41b527 (patch) | |
tree | 405392d270c2be28d50f28d59099bb07e07c7580 /drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | |
parent | 7324d50e47f3a04adc21babeb24d8406efd0e492 (diff) | |
download | linux-b1a79360ee862f8ada4798ad2346fa45bb41b527.tar.bz2 |
cxgb4: Delete all hash and TCAM filters before resource cleanup
During driver unload, hash/TCAM filter deletion doesn't wait for
completion.This patch deletes all the filters with completion before
clearing the resources.
Signed-off-by: Vishal Kulkarni <vishal@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index 3339f1f4bcdd..7487852e6afa 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c @@ -6024,6 +6024,11 @@ static void remove_one(struct pci_dev *pdev) return; } + /* If we allocated filters, free up state associated with any + * valid filters ... + */ + clear_all_filters(adapter); + adapter->flags |= CXGB4_SHUTTING_DOWN; if (adapter->pf == 4) { @@ -6054,11 +6059,6 @@ static void remove_one(struct pci_dev *pdev) if (IS_REACHABLE(CONFIG_THERMAL)) cxgb4_thermal_remove(adapter); - /* If we allocated filters, free up state associated with any - * valid filters ... - */ - clear_all_filters(adapter); - if (adapter->flags & CXGB4_FULL_INIT_DONE) cxgb_down(adapter); |