diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2014-02-20 19:29:06 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-21 12:38:25 -0500 |
commit | ed1f5b58ea01757c5878ecff762e884767da9bab (patch) | |
tree | ec5a70ba9d79c3c2cdfa7a91082512e3ad2661ac /drivers/net | |
parent | 625777e3861f0e664174dc95696328c7c5b0e4b3 (diff) |
i40evf: remove VLAN filters on close
We remove all the MAC filters, so remove the VLAN filters, too.
Change-ID: I4f7559acdf005dc3f359bf6460ce32d183c8878b
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 1629b73d281a..75a2c6f19121 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -972,9 +972,14 @@ void i40evf_down(struct i40evf_adapter *adapter) list_for_each_entry(f, &adapter->mac_filter_list, list) { f->remove = true; } + /* remove all VLAN filters */ + list_for_each_entry(f, &adapter->vlan_filter_list, list) { + f->remove = true; + } if (!(adapter->flags & I40EVF_FLAG_PF_COMMS_FAILED) && adapter->state != __I40EVF_RESETTING) { adapter->aq_required |= I40EVF_FLAG_AQ_DEL_MAC_FILTER; + adapter->aq_required |= I40EVF_FLAG_AQ_DEL_VLAN_FILTER; /* disable receives */ adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES; mod_timer_pending(&adapter->watchdog_timer, jiffies + 1); |