aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAjit Khaparde <ajit.khaparde@emulex.com>2011-02-11 08:35:56 -0500
committerDavid S. Miller <davem@davemloft.net>2011-02-12 00:14:45 -0500
commit7ab8b0b432cf5110624858e23ef264982e542f17 (patch)
tree185acdc0a274191767cd6aa8b267b66c14bde919 /drivers
parente63193652bfbea40e33b3a4cf4d338f9c82fbc05 (diff)
be2net: Cleanup the VF interface handles
The PF needs to cleanup all the interface handles that it created for the VFs. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/benet/be_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c
index 48eef9e2ed94..fc119d1f542b 100644
--- a/drivers/net/benet/be_main.c
+++ b/drivers/net/benet/be_main.c
@@ -2340,6 +2340,8 @@ do_none:
2340 2340
2341static int be_clear(struct be_adapter *adapter) 2341static int be_clear(struct be_adapter *adapter)
2342{ 2342{
2343 int vf;
2344
2343 if (be_physfn(adapter) && adapter->sriov_enabled) 2345 if (be_physfn(adapter) && adapter->sriov_enabled)
2344 be_vf_eth_addr_rem(adapter); 2346 be_vf_eth_addr_rem(adapter);
2345 2347
@@ -2347,6 +2349,13 @@ static int be_clear(struct be_adapter *adapter)
2347 be_rx_queues_destroy(adapter); 2349 be_rx_queues_destroy(adapter);
2348 be_tx_queues_destroy(adapter); 2350 be_tx_queues_destroy(adapter);
2349 2351
2352 if (be_physfn(adapter) && adapter->sriov_enabled)
2353 for (vf = 0; vf < num_vfs; vf++)
2354 if (adapter->vf_cfg[vf].vf_if_handle)
2355 be_cmd_if_destroy(adapter,
2356 adapter->vf_cfg[vf].vf_if_handle,
2357 vf + 1);
2358
2350 be_cmd_if_destroy(adapter, adapter->if_handle, 0); 2359 be_cmd_if_destroy(adapter, adapter->if_handle, 0);
2351 2360
2352 /* tell fw we're done with firing cmds */ 2361 /* tell fw we're done with firing cmds */