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