From 75aada80c2f9a843f7aacbb923fabfcf176fbdb9 Mon Sep 17 00:00:00 2001 From: Rakesh Goyal Date: Thu, 9 Sep 2021 16:44:06 +0530 Subject: [PATCH] nvethernet: set frame length for non TSO packet Issue: - TX packet fragments are not working on Orin platform. - Express packets pass through even time interval is not sufficient to send packet Fix: - Set OSI_PKT_CX_LEN and tx_pkt_cx->payload_len for non TSO packet. this will update frame length in TDECS3 Bug 200765943 Bug 200763256 Change-Id: I82cc91e176d9ac84d654ef7f60686ebc4024d3da Signed-off-by: Rakesh Goyal Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2592048 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 6205156d..b4df82cf 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -2830,6 +2830,9 @@ static int ether_tx_swcx_alloc(struct ether_priv_data *pdata, if (skb->ip_summed == CHECKSUM_PARTIAL) { tx_pkt_cx->flags |= OSI_PKT_CX_CSUM; } + + tx_pkt_cx->flags |= OSI_PKT_CX_LEN; + tx_pkt_cx->payload_len = skb->len; } else { tx_pkt_cx->flags |= OSI_PKT_CX_TSO; }