]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/benet/be_main.c
be2net: fix to ignore transparent vlan ids wrongly indicated by NIC
[mirror_ubuntu-bionic-kernel.git] / drivers / net / benet / be_main.c
index b9e170da12deab4fd237b7a2407de5bd759295f2..cd6fda776d8d3e074ff3bb40c0d470d8d66e72c7 100644 (file)
@@ -1047,6 +1047,9 @@ static void be_rx_compl_process(struct be_adapter *adapter,
        if ((adapter->function_mode & 0x400) && !vtm)
                vlanf = 0;
 
+       if ((adapter->pvid == vlanf) && !adapter->vlan_tag[vlanf])
+               vlanf = 0;
+
        if (unlikely(vlanf)) {
                if (!adapter->vlan_grp || adapter->vlans_added == 0) {
                        kfree_skb(skb);
@@ -1087,6 +1090,9 @@ static void be_rx_compl_process_gro(struct be_adapter *adapter,
        if ((adapter->function_mode & 0x400) && !vtm)
                vlanf = 0;
 
+       if ((adapter->pvid == vlanf) && !adapter->vlan_tag[vlanf])
+               vlanf = 0;
+
        skb = napi_get_frags(&eq_obj->napi);
        if (!skb) {
                be_rx_compl_discard(adapter, rxo, rxcp);