Hi,
Reading your log, the actual fix should be as follows:
diff --git a/sw/qnx_workspace/linux-pfeng/pfeng-netif.c b/sw/qnx_workspace/linux-pfeng/pfeng-netif.c
index 15d7a4656..a283c27ee 100644
--- a/sw/qnx_workspace/linux-pfeng/pfeng-netif.c
+++ b/sw/qnx_workspace/linux-pfeng/pfeng-netif.c
@@ -226,7 +226,7 @@ static netdev_tx_t pfeng_netif_logif_xmit(struct sk_buff *skb, struct net_device
u32 nfrags = skb_shinfo(skb)->nr_frags;
struct pfeng_hif_chnl *chnl;
pfe_ct_hif_tx_hdr_t *tx_hdr;
- unsigned int plen;
+ unsigned int plen, pkt_len;
dma_addr_t dma;
int f, i = 1;
errno_t ret;
@@ -331,6 +331,8 @@ static netdev_tx_t pfeng_netif_logif_xmit(struct sk_buff *skb, struct net_device
/* Software tx time stamp */
skb_tx_timestamp(skb);
+ pkt_len = skb->len;
+
/* Put linear part */
ret = pfe_hif_chnl_tx(chnl->priv, (void *)dma, skb->data, plen, !nfrags);
if (unlikely(EOK != ret)) {
@@ -366,7 +368,7 @@ static netdev_tx_t pfeng_netif_logif_xmit(struct sk_buff *skb, struct net_device
pfeng_hif_shared_chnl_unlock_tx(chnl);
netdev->stats.tx_packets++;
- netdev->stats.tx_bytes += skb->len;
+ netdev->stats.tx_bytes += pkt_len;
return NETDEV_TX_OK;