net: mvpp2: prs: Fix parser range for VID filtering
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Tue, 11 Jun 2019 09:51:42 +0000 (11:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Jun 2019 06:15:14 +0000 (08:15 +0200)
commitb6a1eabf72a01228543462d3961fc3e298832318
tree59518953b1d02fea4bc239d9c2a14b63bfcd0326
parent4642a659ab96c4694eca37a080b9709a649cef36
net: mvpp2: prs: Fix parser range for VID filtering

[ Upstream commit 46b0090a6636cf34c0e856f15dd03e15ba4cdda6 ]

VID filtering is implemented in the Header Parser, with one range of 11
vids being assigned for each no-loopback port.

Make sure we use the per-port range when looking for existing entries in
the Parser.

Since we used a global range instead of a per-port one, this causes VIDs
to be removed from the whitelist from all ports of the same PPv2
instance.

Fixes: 56beda3db602 ("net: mvpp2: Add hardware offloading for VLAN filtering")
Suggested-by: Yuri Chipchev <yuric@marvell.com>
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c