On Thu, 2013-02-07 at 15:13 +0200, Michael S. Tsirkin wrote: > 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 <m...@redhat.com> > --- > drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 12 +++++------- > 1 file 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 f771ddf..a5edac8 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, > 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; > } > > Thanks!
Acked-by: Dmitry Kravkov <dmi...@broadcom.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/