From: Michael Chan Date: Thu, 29 Dec 2016 17:13:35 +0000 (-0500) Subject: bnxt_en: Refactor TPA code path. X-Git-Tag: v4.1.12-93~2^2~43 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8790eb92838772c6c2d5a0e785f1713d8d176fff;p=users%2Fjedix%2Flinux-maple.git bnxt_en: Refactor TPA code path. Orabug: 25645429 Call tcp_gro_complete() in the common code path instead of the chip- specific method. The newer 5731x method is missing the call. Signed-off-by: Michael Chan Signed-off-by: David S. Miller (cherry picked from commit 5910906ca9ee32943f67db24917f78a9ad1087db) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index c3f56b4060aad..183e35bdf8762 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -1131,7 +1131,6 @@ static struct sk_buff *bnxt_gro_func_5730x(struct bnxt_tpa_info *tpa_info, dev_kfree_skb_any(skb); return NULL; } - tcp_gro_complete(skb); if (nw_off) { /* tunnel */ struct udphdr *uh = NULL; @@ -1181,6 +1180,8 @@ static inline struct sk_buff *bnxt_gro_skb(struct bnxt *bp, RX_TPA_END_CMP_PAYLOAD_OFFSET) >> RX_TPA_END_CMP_PAYLOAD_OFFSET_SHIFT; skb = bp->gro_func(tpa_info, payload_off, TPA_END_GRO_TS(tpa_end), skb); + if (likely(skb)) + tcp_gro_complete(skb); #endif return skb; }