Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jul 2002 17:28:48 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        Peter Wemm <peter@wemm.org>
Cc:        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:  <20020708171914.C19349-100000@patrocles.silby.com>
In-Reply-To: <20020708215808.B34E53808@overcee.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020708171914.C19349-100000>