linux_dsm_epyc7002/drivers/net/ethernet/intel/i40evf
Mitch Williams 1418c34581 i40evf: handle many MAC filters correctly
When a lot (many hundreds) of MAC or VLAN filters are added at one time,
we can overflow the Admin Queue buffer size with all the requests.
Unfortunately, the driver would then calculate the message size
incorrectly, causing it to be rejected by the PF. Furthermore, there was
no mechanism to trigger another request to allow for configuring the
rest of the filters that didn't fit into the first request.

To fix this, recalculate the correct buffer size when we detect the
overflow condition instead of just assuming the max buffer size. Also,
don't clear the request bit in adapter->aq_required when we have an
overflow, so that the rest of the filters can be processed later.

Change-ID: Idd7cbbc5af31315e0dcb1b10e6a02ad9817ce65c
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-11-25 10:05:57 -08:00
..
i40e_adminq_cmd.h i40e/i40evf: Add comment to #endif 2015-11-25 10:05:57 -08:00
i40e_adminq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-20 06:08:27 -07:00
i40e_adminq.h i40e/i40evf: fix a potential type compare issue 2015-10-07 13:38:11 -07:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40e: re-use %*ph specifier to hexdump a data 2015-10-23 05:22:13 -07:00
i40e_devids.h i40e/i40evf: split device ids into a separate file 2015-10-13 23:37:13 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_osdep.h move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
i40e_prototype.h i40e/i40evf: Add a workaround to drop all flow control frames 2015-10-23 04:17:55 -07:00
i40e_register.h i40evf: Remove PF specific register definitions from the VF 2015-08-26 15:05:17 -07:00
i40e_status.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_txrx.c i40e/i40evf: Add a stat to track how many times we have to do a force WB 2015-11-25 10:05:56 -08:00
i40e_txrx.h i40e/i40evf: Add a stat to track how many times we have to do a force WB 2015-11-25 10:05:56 -08:00
i40e_type.h i40e/i40evf: Fix an accidental error with BIT_ULL replacement 2015-10-19 15:35:45 -07:00
i40e_virtchnl.h i40e/i40evf: Add WB_ON_ITR offload support 2015-10-15 02:03:29 -07:00
i40evf_ethtool.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40evf_main.c i40evf: fix compiler warning of unused variable 2015-11-23 11:08:51 -08:00
i40evf_virtchnl.c i40evf: handle many MAC filters correctly 2015-11-25 10:05:57 -08:00
i40evf.h i40e/i40evf: adjust interrupt throttle less frequently 2015-10-19 15:35:12 -07:00
Makefile i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00