diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2013-02-06 22:13:22 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-10 20:14:13 -0500 |
commit | 0aba93e2b9fb0be4f4dd1b52ef10d789edf15f74 (patch) | |
tree | d7b0904cf9f44ab1fa5caaca7ba912ad0e944c9e /drivers | |
parent | bd69ba798e21a39748d95942f6191a4f7c9611fc (diff) |
bnx2x: set gso_type
In LRO mode, bnx2x set gso_size but not gso type.
This leads to crashes in macvtap.
Commit cbf1de72324a8105ddcc3d9ce9acbc613faea17e
queued for 3.9 includes a more complete fix.
This is a minimal patch to avoid the crash, for 3.8.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index f771ddfba646..a5edac8df67b 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | |||
@@ -504,13 +504,11 @@ static int bnx2x_fill_frag_skb(struct bnx2x *bp, struct bnx2x_fastpath *fp, | |||
504 | skb_shinfo(skb)->gso_size = bnx2x_set_lro_mss(bp, | 504 | skb_shinfo(skb)->gso_size = bnx2x_set_lro_mss(bp, |
505 | tpa_info->parsing_flags, len_on_bd); | 505 | tpa_info->parsing_flags, len_on_bd); |
506 | 506 | ||
507 | /* set for GRO */ | 507 | skb_shinfo(skb)->gso_type = |
508 | if (fp->mode == TPA_MODE_GRO) | 508 | (GET_FLAG(tpa_info->parsing_flags, |
509 | skb_shinfo(skb)->gso_type = | 509 | PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) == |
510 | (GET_FLAG(tpa_info->parsing_flags, | 510 | PRS_FLAG_OVERETH_IPV6) ? |
511 | PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) == | 511 | SKB_GSO_TCPV6 : SKB_GSO_TCPV4; |
512 | PRS_FLAG_OVERETH_IPV6) ? | ||
513 | SKB_GSO_TCPV6 : SKB_GSO_TCPV4; | ||
514 | } | 512 | } |
515 | 513 | ||
516 | 514 | ||