Commit 34c15202 authored by yuqi jin's avatar yuqi jin Committed by Jakub Kicinski
Browse files

net: stmmac: Fix the problem of tso_xmit



When the address width of DMA is greater than 32, the packet header occupies
a BD descriptor. The starting address of the data should be added to the
header length.

Fixes: a993db88 ("net: stmmac: Enable support for > 32 Bits addressing in XGMAC")
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Signed-off-by: default avataryuqi jin <jinyuqi@huawei.com>
Signed-off-by: default avatarShaokun Zhang <zhangshaokun@hisilicon.com>
Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
parent 011c7289
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2995,6 +2995,7 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
	} else {
		stmmac_set_desc_addr(priv, first, des);
		tmp_pay_len = pay_len;
		des += proto_hdr_len;
	}

	stmmac_tso_allocator(priv, des, tmp_pay_len, (nfrags == 0), queue);