Date: Sat, 11 Oct 2014 22:09:47 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r272966 - stable/10/sys/dev/ixgbe Message-ID: <201410112209.s9BM9lWS017616@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Sat Oct 11 22:09:46 2014 New Revision: 272966 URL: https://svnweb.freebsd.org/changeset/base/272966 Log: MFC r271648 - The error bits are not valid with EOP=0; so intermediary fragments should not be discarded. Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> Sponsored by: Verisign, Inc. Modified: stable/10/sys/dev/ixgbe/ixgbe.c stable/10/sys/dev/ixgbe/ixgbe.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/ixgbe/ixgbe.c ============================================================================== --- stable/10/sys/dev/ixgbe/ixgbe.c Sat Oct 11 22:08:53 2014 (r272965) +++ stable/10/sys/dev/ixgbe/ixgbe.c Sat Oct 11 22:09:46 2014 (r272966) @@ -4062,7 +4062,6 @@ ixgbe_setup_receive_ring(struct rx_ring rxr->lro_enabled = FALSE; rxr->rx_copies = 0; rxr->rx_bytes = 0; - rxr->discard = FALSE; rxr->vtag_strip = FALSE; bus_dmamap_sync(rxr->rxdma.dma_tag, rxr->rxdma.dma_map, @@ -4461,13 +4460,8 @@ ixgbe_rxeof(struct ix_queue *que) eop = ((staterr & IXGBE_RXD_STAT_EOP) != 0); /* Make sure bad packets are discarded */ - if (((staterr & IXGBE_RXDADV_ERR_FRAME_ERR_MASK) != 0) || - (rxr->discard)) { + if (eop && (staterr & IXGBE_RXDADV_ERR_FRAME_ERR_MASK) != 0) { rxr->rx_discarded++; - if (eop) - rxr->discard = FALSE; - else - rxr->discard = TRUE; ixgbe_rx_discard(rxr, i); goto next_desc; } Modified: stable/10/sys/dev/ixgbe/ixgbe.h ============================================================================== --- stable/10/sys/dev/ixgbe/ixgbe.h Sat Oct 11 22:08:53 2014 (r272965) +++ stable/10/sys/dev/ixgbe/ixgbe.h Sat Oct 11 22:09:46 2014 (r272966) @@ -341,7 +341,6 @@ struct rx_ring { struct lro_ctrl lro; bool lro_enabled; bool hw_rsc; - bool discard; bool vtag_strip; u16 next_to_refresh; u16 next_to_check;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410112209.s9BM9lWS017616>