From 6129bcc5383526f5ddca293e78a6794420a63ccc Mon Sep 17 00:00:00 2001 From: Mohan Thadikamalla Date: Fri, 21 Apr 2023 09:42:52 +0530 Subject: [PATCH] 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 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2891932 Reviewed-by: Bhadram Varka Reviewed-by: Narayan Reddy Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-cert Reviewed-by: Sumeet Gupta GVS: Gerrit_Virtual_Submit --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 6 ------ drivers/net/ethernet/nvidia/nvethernet/osd.c | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index cf9737b2..ab891be0 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -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); if (ret < 0) { 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 /* Rx VLAN tag stripping/filtering enabled by default */ - features |= NETIF_F_HW_VLAN_CTAG_RX; features |= NETIF_F_HW_VLAN_CTAG_FILTER; #endif /* !OSI_STRIPPED_LIB */ diff --git a/drivers/net/ethernet/nvidia/nvethernet/osd.c b/drivers/net/ethernet/nvidia/nvethernet/osd.c index dfc9f642..3b74ca4a 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/osd.c +++ b/drivers/net/ethernet/nvidia/nvethernet/osd.c @@ -1,5 +1,5 @@ // 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" @@ -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; pdata->osi_dma->dstats.rx_vlan_pkt_n = osi_update_stats_counter(val, 1UL); - __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), - rx_pkt_cx->vlan_tag); } #endif /* !OSI_STRIPPED_LIB */