Date: Thu, 27 Apr 2006 15:10:19 GMT From: Yuri Pankov <yuri.pankov@gmail.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/96391: [nve] [patch] Device timeouts on nve(4) Message-ID: <200604271510.k3RFAJ9n057366@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/96391; it has been noted by GNATS. From: Yuri Pankov <yuri.pankov@gmail.com> To: bug-followup@FreeBSD.org, nathanw@uchicago.edu Cc: Subject: Re: kern/96391: [nve] [patch] Device timeouts on nve(4) Date: Thu, 27 Apr 2006 19:02:24 +0400 Indeed, patch seems to get rid of timeout(N) messages. Though it doesn't apply cleanly to -CURRENT source. Here's patch against rev 1.20 of if_nve.c: --- if_nve.c.orig Mon Dec 12 09:23:43 2005 +++ if_nve.c Thu Apr 27 18:23:48 2006 @@ -1277,6 +1277,18 @@ { struct nve_softc *sc = ifp->if_softc; + NVE_LOCK(sc); + /* Check for lost interrupts -- happens on nForce4 */ + sc->hwapi->pfnDisableInterrupts(sc->hwapi->pADCX); + sc->hwapi->pfnHandleInterrupt(sc->hwapi->pADCX); + sc->hwapi->pfnEnableInterrupts(sc->hwapi->pADCX); + + if (sc->pending_txs == 0) { + NVE_UNLOCK(sc); + return; /* Problem went away */ + } + NVE_UNLOCK(sc); + device_printf(sc->dev, "device timeout (%d)\n", c->pending_txs); NVE_LOCK(sc);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604271510.k3RFAJ9n057366>