From owner-cvs-all Mon Jul 8 15:26: 3 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 457BA37B400; Mon, 8 Jul 2002 15:25:58 -0700 (PDT) Received: from patrocles.silby.com (d49.as20.nwbl0.wi.voyager.net [169.207.138.49]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C9C943E67; Mon, 8 Jul 2002 15:25:56 -0700 (PDT) (envelope-from silby@silby.com) Received: from patrocles.silby.com (localhost [127.0.0.1]) by patrocles.silby.com (8.12.4/8.12.4) with ESMTP id g68MTAcv019650; Mon, 8 Jul 2002 17:29:10 -0500 (CDT) (envelope-from silby@silby.com) Received: from localhost (silby@localhost) by patrocles.silby.com (8.12.4/8.12.4/Submit) with ESMTP id g68MSm1i019647; Mon, 8 Jul 2002 17:28:54 -0500 (CDT) X-Authentication-Warning: patrocles.silby.com: silby owned process doing -bs Date: Mon, 8 Jul 2002 17:28:48 -0500 (CDT) From: Mike Silbersack To: Peter Wemm Cc: Luigi Rizzo , Don Lewis , , Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c In-Reply-To: <20020708215808.B34E53808@overcee.wemm.org> Message-ID: <20020708171914.C19349-100000@patrocles.silby.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 8 Jul 2002, Peter Wemm wrote: > Luigi Rizzo wrote: > > On Mon, Jul 08, 2002 at 02:39:35PM -0700, Don Lewis wrote: > > ... > > > I just started seeing fxp timeouts on my -current box since I upgraded > > > the morning of July 7. > > > > and why is this surprising ? This is the expected behaviour if you > > cannot transmit a packet within 5 seconds... > > I've suddenly started getting them too. > .. > fxp0: device timeout > fxp0: device timeout > .. > > It is suprising because it appears to be working fine and has been working > fine for years. It seems the only relevant thing that has recently changed > is that you touched the fxp driver.. > > Cheers, > -Peter 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. Mike "Silby" Silbersack To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message