svn commit: r212133 - head/sys/dev/usb/net

Andrew Thompson thompsa at FreeBSD.org
Thu Sep 2 03:55:09 UTC 2010


Author: thompsa
Date: Thu Sep  2 03:55:08 2010
New Revision: 212133
URL: http://svn.freebsd.org/changeset/base/212133

Log:
  Fix setting of the rx_max and tx_max variables. If the expected buffer size is
  greater than 65535 bytes then the CDC driver might not work as expected, which
  is not likely with the existing USB speeds.
  
  Submitted by:	Hans Petter Selasky

Modified:
  head/sys/dev/usb/net/if_cdce.c

Modified: head/sys/dev/usb/net/if_cdce.c
==============================================================================
--- head/sys/dev/usb/net/if_cdce.c	Thu Sep  2 03:52:04 2010	(r212132)
+++ head/sys/dev/usb/net/if_cdce.c	Thu Sep  2 03:55:08 2010	(r212133)
@@ -312,14 +312,14 @@ cdce_ncm_init(struct cdce_softc *sc)
 	/* Read correct set of parameters according to device mode */
 
 	if (usbd_get_mode(sc->sc_ue.ue_udev) == USB_MODE_HOST) {
-		sc->sc_ncm.rx_max = UGETW(temp.dwNtbInMaxSize);
-		sc->sc_ncm.tx_max = UGETW(temp.dwNtbOutMaxSize);
+		sc->sc_ncm.rx_max = UGETDW(temp.dwNtbInMaxSize);
+		sc->sc_ncm.tx_max = UGETDW(temp.dwNtbOutMaxSize);
 		sc->sc_ncm.tx_remainder = UGETW(temp.wNdpOutPayloadRemainder);
 		sc->sc_ncm.tx_modulus = UGETW(temp.wNdpOutDivisor);
 		sc->sc_ncm.tx_struct_align = UGETW(temp.wNdpOutAlignment);
 	} else {
-		sc->sc_ncm.rx_max = UGETW(temp.dwNtbOutMaxSize);
-		sc->sc_ncm.tx_max = UGETW(temp.dwNtbInMaxSize);
+		sc->sc_ncm.rx_max = UGETDW(temp.dwNtbOutMaxSize);
+		sc->sc_ncm.tx_max = UGETDW(temp.dwNtbInMaxSize);
 		sc->sc_ncm.tx_remainder = UGETW(temp.wNdpInPayloadRemainder);
 		sc->sc_ncm.tx_modulus = UGETW(temp.wNdpInDivisor);
 		sc->sc_ncm.tx_struct_align = UGETW(temp.wNdpInAlignment);


More information about the svn-src-head mailing list