Commit f23735aa authored by Alexander Duyck's avatar Alexander Duyck Committed by Jeff Kirsher

i40evf: Clean-up flags for promisc mode to avoid high polling rate

If you enabled and disabled promiscuous mode on a VF you could easily put
it into a state where it would start firing interrupts on all queues at a
rate of 50+ interrupts per second even though there was no traffic present.
The issue seems to have been a stray admin queue feature flag set that was
leaving us in a high polling rate for the adminq task.
Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 498860cf
...@@ -739,8 +739,10 @@ void i40evf_set_promiscuous(struct i40evf_adapter *adapter, int flags) ...@@ -739,8 +739,10 @@ void i40evf_set_promiscuous(struct i40evf_adapter *adapter, int flags)
} }
if (!flags) { if (!flags) {
adapter->flags &= ~I40EVF_FLAG_PROMISC_ON; adapter->flags &= ~(I40EVF_FLAG_PROMISC_ON |
adapter->aq_required &= ~I40EVF_FLAG_AQ_RELEASE_PROMISC; I40EVF_FLAG_ALLMULTI_ON);
adapter->aq_required &= ~(I40EVF_FLAG_AQ_RELEASE_PROMISC |
I40EVF_FLAG_AQ_RELEASE_ALLMULTI);
dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n"); dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment