From: Ajit Khaparde Date: Fri, 11 Feb 2011 13:35:56 +0000 (+0000) Subject: be2net: Cleanup the VF interface handles X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=7ab8b0b432cf5110624858e23ef264982e542f17;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: David S. Miller --- 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: static int be_clear(struct be_adapter *adapter) { + int vf; + if (be_physfn(adapter) && adapter->sriov_enabled) be_vf_eth_addr_rem(adapter); @@ -2347,6 +2349,13 @@ static int be_clear(struct be_adapter *adapter) be_rx_queues_destroy(adapter); be_tx_queues_destroy(adapter); + if (be_physfn(adapter) && adapter->sriov_enabled) + for (vf = 0; vf < num_vfs; vf++) + if (adapter->vf_cfg[vf].vf_if_handle) + be_cmd_if_destroy(adapter, + adapter->vf_cfg[vf].vf_if_handle, + vf + 1); + be_cmd_if_destroy(adapter, adapter->if_handle, 0); /* tell fw we're done with firing cmds */