nvethernet: Clear VLAN tag stripping

Issue:
Observed VLAN ping failure on Linux safety builds.

Fix:
Clear VLAN tag stripping on nvethernet drivers.

Bug 4081795

Change-Id: I08936e2afa1fe1111570cf0cea6aa0cbe463e157
Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2891932
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Mohan Thadikamalla
2023-04-21 09:42:52 +05:30
committed by mobile promotions
parent bd325eea20
commit 6129bcc538
2 changed files with 1 additions and 9 deletions

View File

@@ -5982,11 +5982,6 @@ static int ether_parse_dt(struct ether_priv_data *pdata)
} }
} }
#ifndef OSI_STRIPPED_LIB
/* Enable VLAN strip by default */
osi_core->strip_vlan_tag = OSI_ENABLE;
#endif
ret = ether_parse_phy_dt(pdata, np); ret = ether_parse_phy_dt(pdata, np);
if (ret < 0) { if (ret < 0) {
dev_err(dev, "failed to parse PHY DT\n"); dev_err(dev, "failed to parse PHY DT\n");
@@ -6236,7 +6231,6 @@ static void ether_set_ndev_features(struct net_device *ndev,
#ifndef OSI_STRIPPED_LIB #ifndef OSI_STRIPPED_LIB
/* Rx VLAN tag stripping/filtering enabled by default */ /* Rx VLAN tag stripping/filtering enabled by default */
features |= NETIF_F_HW_VLAN_CTAG_RX;
features |= NETIF_F_HW_VLAN_CTAG_FILTER; features |= NETIF_F_HW_VLAN_CTAG_FILTER;
#endif /* !OSI_STRIPPED_LIB */ #endif /* !OSI_STRIPPED_LIB */

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2019-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved */ /* Copyright (c) 2019-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved */
#include "ether_linux.h" #include "ether_linux.h"
@@ -684,8 +684,6 @@ static void osd_receive_packet(void *priv, struct osi_rx_ring *rx_ring,
val = pdata->osi_dma->dstats.rx_vlan_pkt_n; val = pdata->osi_dma->dstats.rx_vlan_pkt_n;
pdata->osi_dma->dstats.rx_vlan_pkt_n = pdata->osi_dma->dstats.rx_vlan_pkt_n =
osi_update_stats_counter(val, 1UL); osi_update_stats_counter(val, 1UL);
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
rx_pkt_cx->vlan_tag);
} }
#endif /* !OSI_STRIPPED_LIB */ #endif /* !OSI_STRIPPED_LIB */