[Midnightbsd-cvs] src: dev/if_ndis: sc->ndis_txidx should be cycle between 0 and

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Jan 20 15:10:05 EST 2009


Log Message:
-----------
sc->ndis_txidx should be cycle between 0 and sc->ndis_maxpkts, not
NDIS_TXPKTS and don't allocate unused extra spaces for sc->ndis_txarray
and sc->ndis_txpool.

Modified Files:
--------------
    src/sys/dev/if_ndis:
        if_ndis.c (r1.7 -> r1.8)
        if_ndisvar.h (r1.2 -> r1.3)

-------------- next part --------------
Index: if_ndisvar.h
===================================================================
RCS file: /home/cvs/src/sys/dev/if_ndis/if_ndisvar.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -L sys/dev/if_ndis/if_ndisvar.h -L sys/dev/if_ndis/if_ndisvar.h -u -r1.2 -r1.3
--- sys/dev/if_ndis/if_ndisvar.h
+++ sys/dev/if_ndis/if_ndisvar.h
@@ -87,7 +87,7 @@
 
 #define NDIS_TXPKTS 64
 #define NDIS_INC(x)		\
-	(x)->ndis_txidx = ((x)->ndis_txidx + 1) % NDIS_TXPKTS
+	(x)->ndis_txidx = ((x)->ndis_txidx + 1) % (x)->ndis_maxpkts
 
 #define NDIS_EVENTS 4
 #define NDIS_EVTINC(x)	(x) = ((x) + 1) % NDIS_EVENTS
Index: if_ndis.c
===================================================================
RCS file: /home/cvs/src/sys/dev/if_ndis/if_ndis.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -L sys/dev/if_ndis/if_ndis.c -L sys/dev/if_ndis/if_ndis.c -u -r1.7 -r1.8
--- sys/dev/if_ndis/if_ndis.c
+++ sys/dev/if_ndis/if_ndis.c
@@ -643,12 +643,12 @@
 		sc->ndis_maxpkts = 10;
 
 	sc->ndis_txarray = malloc(sizeof(ndis_packet *) *
-	    NDIS_TXPKTS, M_DEVBUF, M_NOWAIT|M_ZERO);
+	    sc->ndis_maxpkts, M_DEVBUF, M_NOWAIT|M_ZERO);
 
 	/* Allocate a pool of ndis_packets for TX encapsulation. */
 
 	NdisAllocatePacketPool(&i, &sc->ndis_txpool,
-	   NDIS_TXPKTS, PROTOCOL_RESERVED_SIZE_IN_PACKET);
+	    sc->ndis_maxpkts, PROTOCOL_RESERVED_SIZE_IN_PACKET);
 
 	if (i != NDIS_STATUS_SUCCESS) {
 		sc->ndis_txpool = NULL;


More information about the Midnightbsd-cvs mailing list