kern/96391: [nve] [patch] Device timeouts on nve(4)

Yuri Pankov yuri.pankov at gmail.com
Thu Apr 27 15:10:19 UTC 2006


The following reply was made to PR kern/96391; it has been noted by GNATS.

From: Yuri Pankov <yuri.pankov at gmail.com>
To: bug-followup at FreeBSD.org,  nathanw at 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);


More information about the freebsd-bugs mailing list