net: stmmac: Fix TSO descriptor with Enhanced Addressing
authorJose Abreu <Jose.Abreu@synopsys.com>
Wed, 6 Nov 2019 15:03:04 +0000 (16:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Nov 2019 05:22:55 +0000 (21:22 -0800)
When using addressing > 32 bits the TSO first descriptor only has the
header so we can't set the payload field for this descriptor. Let's
reset the variable so that buffer 2 value is zero.

Fixes: a993db88d17d ("net: stmmac: Enable support for > 32 Bits addressing in XGMAC")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index 1ab1eea1556adf1153b66c7a82b674c60042e3af..b0a16d7c6e3db3ffd9195f6fad2d7fcbc2ca6c2e 100644 (file)
@@ -2996,6 +2996,7 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
                stmmac_set_desc_addr(priv, first, des);
                tmp_pay_len = pay_len;
                des += proto_hdr_len;
+               pay_len = 0;
        }
 
        stmmac_tso_allocator(priv, des, tmp_pay_len, (nfrags == 0), queue);