mirror of https://gitee.com/openkylin/linux.git
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:
parent
0b9f932edc
commit
d39b68e5a7
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue