]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ixgbe: Simplify configuration of setting VLVF and VLVFB
authorAlexander Duyck <aduyck@mirantis.com>
Tue, 3 Nov 2015 01:09:54 +0000 (17:09 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 6 Jul 2016 23:40:28 +0000 (16:40 -0700)
commitd774d3f52b761d9a7b0495d0c1f3b9da943f1451
treef8fdee94bf1a9b94d61771e91c0cb54ebc6c23d7
parent1612b252e15e7b3cf49609f0942f4c4ba80db2a6
ixgbe: Simplify configuration of setting VLVF and VLVFB

Orabug: 23177316

This patch addresses several issues within the VLVF and VLVFB
configuration

First was the fact that code was overly complicated with multiple
conditional paths depending on if we adding or removing and which bit we
were going to add or remove.  Instead of messing with all that I have
simplified it by using (vid / 32) and (1 - vid / 32) to identify our
register and the other vlvfb register.

Second was the fact that we were likely leaking a few packets into the PF
in cases where we were deleting an entry and the VFTA filter for that entry
as the ordering was such that we deleted the pool and then the VLAN filter
instead of the other way around.  I have updated that by adding a check for
no bits being set and if that occurs we clear things up in the proper
order.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 5ac736a65ac131e76edb5bbe75f7f9acef7a8a7b)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c