Date: Mon, 8 Jul 2002 17:48:22 -0700 From: David Greenman-Lawrence <dg@root.com> To: Mike Silbersack <silby@silby.com> Cc: Peter Wemm <peter@wemm.org>, Luigi Rizzo <luigi@FreeBSD.org>, Don Lewis <dl-freebsd@catspoiler.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c Message-ID: <20020708174822.B72088@nexus.root.com> In-Reply-To: <20020708171914.C19349-100000@patrocles.silby.com>; from silby@silby.com on Mon, Jul 08, 2002 at 05:28:48PM -0500 References: <20020708215808.B34E53808@overcee.wemm.org> <20020708171914.C19349-100000@patrocles.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>There must be an oddity in how the fxp driver handles the timeout handling >vs other drivers. > >Hm, I see the problem. The fxp driver releases transmit mbufs in both >fxp_intr _and_ in fxp_tick. fxp_tick needs code such as: > > > for (txp = sc->cbl_first; sc->tx_queued && > (txp->cb_status & FXP_CB_STATUS_C) != 0; > txp = txp->next) { > if (txp->mb_head != NULL) { > m_freem(txp->mb_head); > txp->mb_head = NULL; > } > sc->tx_queued--; > } > sc->cbl_first = txp; >+ if (sc->tx_queued == 0) >+ ifp->if_timer = 0; > >Give that a whirl and see if it solves the problem. Yes, that should fix the problem. -DG D.G.Lawrence Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500 TeraSolutions, Inc. - http://www.terasolutions.com - (503) 288 9544 The FreeBSD Project - http://www.freebsd.org Pave the road of life with opportunities. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020708174822.B72088>