From: Dmitry Kravkov Date: Mon, 12 Dec 2011 23:40:53 +0000 (+0000) Subject: bnx2x: properly update skb when mtu > 1500 X-Git-Tag: v2.6.39-400.9.0~423^2~19^2~11^2~517 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=05471da4c9e538c3243ede9b59215bf347b21ebf;p=users%2Fjedix%2Flinux-maple.git bnx2x: properly update skb when mtu > 1500 Since commit e52fcb2462ac484e6dd6e68869536609f0216938 newly allocated skb for small packets are not updated properly and dropped by stack. (cherry picked from commit 036d2df9b3167598a9c9f1c13d9039f7e6cb0083) Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Acked-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Joe Jin --- diff --git a/drivers/net/bnx2x/bnx2x_cmn.c b/drivers/net/bnx2x/bnx2x_cmn.c index 0180e6f9c21b..f4a95a89ddc6 100644 --- a/drivers/net/bnx2x/bnx2x_cmn.c +++ b/drivers/net/bnx2x/bnx2x_cmn.c @@ -719,22 +719,22 @@ reuse_rx: bnx2x_reuse_rx_data(fp, bd_cons, bd_prod); goto next_rx; } + } - skb_put(skb, len); - skb->protocol = eth_type_trans(skb, bp->dev); + skb_put(skb, len); + skb->protocol = eth_type_trans(skb, bp->dev); - /* Set Toeplitz hash for a none-LRO skb */ - skb->rxhash = bnx2x_get_rxhash(bp, cqe_fp); + /* Set Toeplitz hash for a none-LRO skb */ + skb->rxhash = bnx2x_get_rxhash(bp, cqe_fp); - skb_checksum_none_assert(skb); + skb_checksum_none_assert(skb); - if (bp->dev->features & NETIF_F_RXCSUM) { + if (bp->dev->features & NETIF_F_RXCSUM) { - if (likely(BNX2X_RX_CSUM_OK(cqe))) - skb->ip_summed = CHECKSUM_UNNECESSARY; - else - fp->eth_q_stats.hw_csum_err++; - } + if (likely(BNX2X_RX_CSUM_OK(cqe))) + skb->ip_summed = CHECKSUM_UNNECESSARY; + else + fp->eth_q_stats.hw_csum_err++; } skb_record_rx_queue(skb, fp->rx_queue);