svn commit: r252443 - stable/8/sys/dev/usb/net
Pyun YongHyeon
yongari at FreeBSD.org
Mon Jul 1 05:26:30 UTC 2013
Author: yongari
Date: Mon Jul 1 05:26:29 2013
New Revision: 252443
URL: http://svnweb.freebsd.org/changeset/base/252443
Log:
MFC r252143:
When RX checksum offloading is active, AX88772B will prepend a
checksum header. The header contains a received frame length but
the defined length for AX88772B is different with other ASIX
controllers. When the RX checksum is off, AX88772B controller does
not prepend a checksum header so driver has to use normal header
length mask.
This change should fix RX errors when RX checksum offloading is
off.
Modified:
stable/8/sys/dev/usb/net/if_axe.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/dev/ (props changed)
stable/8/sys/dev/usb/ (props changed)
Modified: stable/8/sys/dev/usb/net/if_axe.c
==============================================================================
--- stable/8/sys/dev/usb/net/if_axe.c Mon Jul 1 05:24:58 2013 (r252442)
+++ stable/8/sys/dev/usb/net/if_axe.c Mon Jul 1 05:26:29 2013 (r252443)
@@ -1355,15 +1355,14 @@ axe_init(struct usb_ether *ue)
if (AXE_IS_178_FAMILY(sc)) {
sc->sc_flags &= ~(AXE_FLAG_STD_FRAME | AXE_FLAG_CSUM_FRAME);
- if ((sc->sc_flags & AXE_FLAG_772B) != 0)
- sc->sc_lenmask = AXE_CSUM_HDR_LEN_MASK;
- else
- sc->sc_lenmask = AXE_HDR_LEN_MASK;
if ((sc->sc_flags & AXE_FLAG_772B) != 0 &&
- (ifp->if_capenable & IFCAP_RXCSUM) != 0)
+ (ifp->if_capenable & IFCAP_RXCSUM) != 0) {
+ sc->sc_lenmask = AXE_CSUM_HDR_LEN_MASK;
sc->sc_flags |= AXE_FLAG_CSUM_FRAME;
- else
+ } else {
+ sc->sc_lenmask = AXE_HDR_LEN_MASK;
sc->sc_flags |= AXE_FLAG_STD_FRAME;
+ }
}
/* Configure TX/RX checksum offloading. */
More information about the svn-src-stable-8
mailing list