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>hifive-unleashed-5.1
parent
625777e386
commit
ed1f5b58ea
|
@ -972,9 +972,14 @@ void i40evf_down(struct i40evf_adapter *adapter)
|
||||||
list_for_each_entry(f, &adapter->mac_filter_list, list) {
|
list_for_each_entry(f, &adapter->mac_filter_list, list) {
|
||||||
f->remove = true;
|
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) &&
|
if (!(adapter->flags & I40EVF_FLAG_PF_COMMS_FAILED) &&
|
||||||
adapter->state != __I40EVF_RESETTING) {
|
adapter->state != __I40EVF_RESETTING) {
|
||||||
adapter->aq_required |= I40EVF_FLAG_AQ_DEL_MAC_FILTER;
|
adapter->aq_required |= I40EVF_FLAG_AQ_DEL_MAC_FILTER;
|
||||||
|
adapter->aq_required |= I40EVF_FLAG_AQ_DEL_VLAN_FILTER;
|
||||||
/* disable receives */
|
/* disable receives */
|
||||||
adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES;
|
adapter->aq_required |= I40EVF_FLAG_AQ_DISABLE_QUEUES;
|
||||||
mod_timer_pending(&adapter->watchdog_timer, jiffies + 1);
|
mod_timer_pending(&adapter->watchdog_timer, jiffies + 1);
|
||||||
|
|
Loading…
Reference in New Issue