From 6af51eded86084a14aa4bf9b529063b255ed1ae6 Mon Sep 17 00:00:00 2001 From: Rakesh Goyal Date: Mon, 23 Aug 2021 19:59:57 +0530 Subject: [PATCH] nvethernet: fix use of "in_use" flag Issue: When osd_transmit_complete() call ether_get_free_tx_ts_node() to get next free index, it returns always 0 as in_use flag was not set for already used node. Fix: Set in_use flag to maintain list of nodes and avoid overwrite. Bug 200762771 Change-Id: I8acd3f3495476c9e5d7ecf60494b62106948ca50 Signed-off-by: Rakesh Goyal Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2581550 Reviewed-by: svcacv Reviewed-by: svc_kernel_abi Reviewed-by: Bhadram Varka Reviewed-by: Mohan Thadikamalla Reviewed-by: Sachin Nikam Reviewed-by: mobile promotions Tested-by: mobile promotions GVS: Gerrit_Virtual_Submit --- drivers/net/ethernet/nvidia/nvethernet/osd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/nvidia/nvethernet/osd.c b/drivers/net/ethernet/nvidia/nvethernet/osd.c index 8c197816..c0bf2be7 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/osd.c +++ b/drivers/net/ethernet/nvidia/nvethernet/osd.c @@ -755,6 +755,7 @@ static void osd_transmit_complete(void *priv, void *buffer, unsigned long dmaadd return; } + pdata->tx_ts_skb[idx].in_use = OSI_ENABLE; pnode = &pdata->tx_ts_skb[idx]; pnode->skb = skb; pnode->pktid = txdone_pkt_cx->pktid;