net: stmmac: selftests: Mark as fail when received VLAN ID != expected

When the VLAN ID does not match the expected one it means filter failed
in HW. Fix it.

Fixes: 94e1838200 ("net: stmmac: selftests: Add selftest for VLAN TX Offload")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jose Abreu 2020-01-14 17:09:22 +01:00 committed by David S. Miller
parent 0b9f932edc
commit d39b68e5a7
1 changed files with 5 additions and 1 deletions

View File

@ -853,9 +853,13 @@ static int stmmac_test_vlan_validate(struct sk_buff *skb,
if (tpriv->vlan_id) { if (tpriv->vlan_id) {
if (skb->vlan_proto != htons(proto)) if (skb->vlan_proto != htons(proto))
goto out; goto out;
if (skb->vlan_tci != tpriv->vlan_id) if (skb->vlan_tci != tpriv->vlan_id) {
/* Means filter did not work. */
tpriv->ok = false;
complete(&tpriv->comp);
goto out; goto out;
} }
}
ehdr = (struct ethhdr *)skb_mac_header(skb); ehdr = (struct ethhdr *)skb_mac_header(skb);
if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->dst)) if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->dst))