From owner-freebsd-current@FreeBSD.ORG Wed May 26 12:20:05 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C277616A4CE for ; Wed, 26 May 2004 12:20:05 -0700 (PDT) Received: from bsd.ee (bsd.ee [194.126.101.115]) by mx1.FreeBSD.org (Postfix) with SMTP id EBA0D43D2F for ; Wed, 26 May 2004 12:20:04 -0700 (PDT) (envelope-from hadara@bsd.ee) Received: (qmail 12376 invoked by uid 1021); 26 May 2004 19:21:03 -0000 Received: from hadara@bsd.ee by daemon.bsd.ee by uid 82 with qmail-scanner-1.20 (spamassassin: 2.55. Clear:RC:1(62.65.205.81):. Processed in 0.050863 secs); 26 May 2004 19:21:03 -0000 Received: from unknown (HELO depression) (62.65.205.81) by bsd.ee with SMTP; 26 May 2004 19:21:02 -0000 From: Sven Petai Organization: NPO BSD Estonia To: freebsd-current@freebsd.org Date: Wed, 26 May 2004 22:18:24 +0300 User-Agent: KMail/1.5.4 References: <40A10AC8.6080406@veidit.net> <40A1F7C9.1010801@veidit.net> <20040517201611.GC88080@cserv62.csub.edu> In-Reply-To: <20040517201611.GC88080@cserv62.csub.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200405262218.24586.hadara@bsd.ee> cc: John Angelmo Subject: Re: re driver problem X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2004 19:20:05 -0000 On Monday 17 May 2004 23:16, Russell Jackson wrote: > On Wed, May 12, 2004 at 12:09:13PM +0200, John Angelmo wrote: > > S?ren Schmidt wrote: > > >Thats a known problem, its been like this for ages... > > > > > >I hacked rl to take the card instead, works like a charm... > > > > How did you do that? do you have a patch for it? perhaps we can replace > > re with a hacked rl? > > > > /John > > I'd also be interested in a patch. hi following patch seems to fix the longstanding "re0: watchdog timeout" problem ( at least on my laptop). I haven't done much testing yet but it survived 3 cvsups without problems, without it I got first timeout in ~30 seconds, so let me know if it works/doesn't work for your systems.... Sven Petai --- sys/dev/re/if_re.c.orig Wed May 26 21:33:53 2004 +++ sys/dev/re/if_re.c Wed May 26 21:42:05 2004 @@ -1727,7 +1727,9 @@ if (idx != sc->rl_ldata.rl_tx_considx) { sc->rl_ldata.rl_tx_considx = idx; ifp->if_flags &= ~IFF_OACTIVE; - ifp->if_timer = 0; + /* reset the timer only if TX buffer is empty */ + if (idx == sc->rl_ldata.rl_tx_prodidx) + ifp->if_timer = 0; } /* @@ -1736,8 +1738,10 @@ * interrupt that will cause us to re-enter this routine. * This is done in case the transmitter has gone idle. */ - if (sc->rl_ldata.rl_tx_free != RL_TX_DESC_CNT) - CSR_WRITE_4(sc, RL_TIMERCNT, 1); + if (sc->rl_ldata.rl_tx_free != RL_TX_DESC_CNT) { + CSR_WRITE_4(sc, RL_TIMERCNT, 1); + ifp->if_timer = 5; + } return; }