mirror of https://gitee.com/openkylin/linux.git
bnx2x: set gso_type
In LRO mode, bnx2x set gso_size but not gso type.
This leads to crashes in macvtap.
Commit cbf1de7232
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…
Reference in New Issue