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 <michael.c...@broadcmo.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c 
b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 4a8059f..0654c3f 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -1127,7 +1127,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;
@@ -1177,6 +1176,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;
 }
-- 
1.8.3.1

Reply via email to