Date: Tue, 14 Apr 2009 17:14:35 +0000 (UTC) From: Jack F Vogel <jfv@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r191065 - head/sys/dev/e1000 Message-ID: <200904141714.n3EHEZqZ014386@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jfv Date: Tue Apr 14 17:14:35 2009 New Revision: 191065 URL: http://svn.freebsd.org/changeset/base/191065 Log: Thanks to Michael Tuexen and Randall Scott for providing a few important bug fixes found while they were doing SCTP development, and that I somehow lost during the scramble. Thanks guys!! Modified: head/sys/dev/e1000/if_igb.c Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Tue Apr 14 16:48:49 2009 (r191064) +++ head/sys/dev/e1000/if_igb.c Tue Apr 14 17:14:35 2009 (r191065) @@ -94,7 +94,7 @@ int igb_display_debug_stats = 0; /********************************************************************* * Driver version: *********************************************************************/ -char igb_driver_version[] = "version - 1.5.2"; +char igb_driver_version[] = "version - 1.5.3"; /********************************************************************* @@ -4002,7 +4002,7 @@ igb_rxeof(struct rx_ring *rxr, int count accept_frame = 1; hlen = plen = len_adj = 0; sendmp = mh = mp = NULL; - ptype = (u16)cur->wb.lower.lo_dword.data; + ptype = (u16)(cur->wb.lower.lo_dword.data >> 4); /* Sync the buffers */ bus_dmamap_sync(rxr->rxtag, rxr->rx_buffers[i].map, @@ -4103,16 +4103,16 @@ igb_rxeof(struct rx_ring *rxr, int count rxr->lmp = mh->m_next; } } else { - /* Chain mbuf's together */ - mh->m_flags &= ~M_PKTHDR; - rxr->lmp->m_next = mh; - rxr->lmp = rxr->lmp->m_next; - rxr->fmp->m_pkthdr.len += mh->m_len; /* Adjust for CRC frag */ if (len_adj) { rxr->lmp->m_len -= len_adj; rxr->fmp->m_pkthdr.len -= len_adj; } + /* Chain mbuf's together */ + mh->m_flags &= ~M_PKTHDR; + rxr->lmp->m_next = mh; + rxr->lmp = rxr->lmp->m_next; + rxr->fmp->m_pkthdr.len += mh->m_len; } if (eop) { @@ -4256,7 +4256,7 @@ igb_rx_checksum(u32 staterr, struct mbuf #endif /* Did it pass? */ if (!(errors & E1000_RXD_ERR_TCPE)) { - mp->m_pkthdr.csum_flags = type; + mp->m_pkthdr.csum_flags |= type; if (!sctp) mp->m_pkthdr.csum_data = htons(0xffff); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904141714.n3EHEZqZ014386>