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 <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2592048
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Rakesh Goyal
2021-09-09 16:44:06 +05:30
committed by Revanth Kumar Uppala
parent faf4382eb4
commit 75aada80c2

View File

@@ -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;
}