net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware
authorJian Shen <shenjian15@huawei.com>
Fri, 5 Oct 2018 17:03:29 +0000 (18:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:20:28 +0000 (08:20 +0100)
commitd653bd939cb1bb69dc8ea5b51b12626481e85c50
tree2734310c8617a51c13b84715e0dc042b9979f0e4
parent3bef7420e129e3fb65e4e8368d61f909c4393786
net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware

[ Upstream commit 701a6d6ac78c76083ddb7c6581fdbedd95093e11 ]

In revision 0x20, we use vlan id != 0 to check whether a vlan tag
has been offloaded, so vlan id 0 is not supported.

In revision 0x21, rx buffer descriptor adds two bits to indicate
whether one or more vlan tags have been offloaded, so vlan id 0
is valid now.

This patch seperates the handle for vlan id 0, add vlan id 0 support
for revision 0x21.

Fixes: 5b5455a9ed5a ("net: hns3: Add STRP_TAGP field support for hardware revision 0x21")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c