]> www.infradead.org Git - users/jedix/linux-maple.git/commit
i40evf: handle many MAC filters correctly
authorMitch Williams <mitch.a.williams@intel.com>
Wed, 21 Oct 2015 23:47:12 +0000 (19:47 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 16:33:22 +0000 (08:33 -0800)
commit0bef70bf47e52a3364c08805b7d7b54754fa188e
tree849e54d71b02fad8d7f2a0ac2304c7c17112b3d8
parent4342399fbdd5a4711e831d5ca1199d3a88849c66
i40evf: handle many MAC filters correctly

Orabug: 22342532

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>
(cherry picked from commit 1418c3458118c6969d08e23aa377da7e2a7be36c)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c