From db102f9a37058e4604eabc66e092db68b8423a25 Mon Sep 17 00:00:00 2001 From: Weongyo Jeong Date: Sat, 4 Oct 2008 04:15:39 +0000 Subject: [PATCH] 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. PR: kern/127644 Submitted by: Antoine Pelisse MFC after: 1 week --- sys/dev/if_ndis/if_ndis.c | 4 ++-- sys/dev/if_ndis/if_ndisvar.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c index 4981a2e0d93..c833c4e0032 100644 --- a/sys/dev/if_ndis/if_ndis.c +++ b/sys/dev/if_ndis/if_ndis.c @@ -641,12 +641,12 @@ ndis_attach(dev) 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; diff --git a/sys/dev/if_ndis/if_ndisvar.h b/sys/dev/if_ndis/if_ndisvar.h index 868b5deb917..5f9fe756568 100644 --- a/sys/dev/if_ndis/if_ndisvar.h +++ b/sys/dev/if_ndis/if_ndisvar.h @@ -87,7 +87,7 @@ TAILQ_HEAD(nch, ndis_cfglist); #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