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>
This commit is contained in:
parent
bd69ba798e
commit
0aba93e2b9
@ -504,13 +504,11 @@ static int bnx2x_fill_frag_skb(struct bnx2x *bp, struct bnx2x_fastpath *fp,
|
||||
skb_shinfo(skb)->gso_size = bnx2x_set_lro_mss(bp,
|
||||
tpa_info->parsing_flags, len_on_bd);
|
||||
|
||||
/* set for GRO */
|
||||
if (fp->mode == TPA_MODE_GRO)
|
||||
skb_shinfo(skb)->gso_type =
|
||||
(GET_FLAG(tpa_info->parsing_flags,
|
||||
PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) ==
|
||||
PRS_FLAG_OVERETH_IPV6) ?
|
||||
SKB_GSO_TCPV6 : SKB_GSO_TCPV4;
|
||||
skb_shinfo(skb)->gso_type =
|
||||
(GET_FLAG(tpa_info->parsing_flags,
|
||||
PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) ==
|
||||
PRS_FLAG_OVERETH_IPV6) ?
|
||||
SKB_GSO_TCPV6 : SKB_GSO_TCPV4;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user