Date: Sat, 10 Dec 2005 12:56:33 +0000 (UTC) From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> To: FreeBSD current mailing list <current@freebsd.org> Subject: Re: nve(4) patch - please test! Message-ID: <20051210125221.M23668@maildrop.int.zabbadoz.net> In-Reply-To: <20051209175607.C23668@maildrop.int.zabbadoz.net> References: <20051209175607.C23668@maildrop.int.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 9 Dec 2005, Bjoern A. Zeeb wrote: Hi, > everyone out there who had only seen timeouts like > nve0: device timeout (4) > on nve and __never got it working at all__ please try this patch[1] > which made my nve working from 0 to 99. > > I still can get timeouts by for example flood pinging another machine > on the local LAN but it all recovers on it's own and I can work on > that machine and do things like find / over ssh without losing > connectivity. Fixing the timeouts will be another problem that needs > to be addressed later. After removing hw.physmem="3G" from my loader.conf of my 4GB RAM machine I noticed that nve again was not working. Anyone with >= 4GB RAM might want to try the updated version of the patch which helps here. [1] http://sources.zabbadoz.net/freebsd/patchset/nve-20051210-01.diff Index: if_nve.c =================================================================== RCS file: /shared/mirror/FreeBSD/r/ncvs/src/sys/dev/nve/if_nve.c,v retrieving revision 1.19 diff -u -p -r1.19 if_nve.c --- if_nve.c 7 Dec 2005 17:38:03 -0000 1.19 +++ if_nve.c 10 Dec 2005 12:53:06 -0000 @@ -643,6 +643,10 @@ nve_init_locked(struct nve_softc *sc) nve_stop(sc); DEBUGOUT(NVE_DEBUG_INIT, "nve: do pfnInit\n"); + /* Setup multicast filter */ + nve_setmulti(sc); + nve_ifmedia_upd_locked(ifp); + /* Setup Hardware interface and allocate memory structures */ error = sc->hwapi->pfnInit(sc->hwapi->pADCX, 0, /* force speed */ @@ -661,10 +665,6 @@ nve_init_locked(struct nve_softc *sc) sc->hwapi->pfnEnableInterrupts(sc->hwapi->pADCX); sc->hwapi->pfnStart(sc->hwapi->pADCX); - /* Setup multicast filter */ - nve_setmulti(sc); - nve_ifmedia_upd_locked(ifp); - /* Update interface parameters */ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -1306,7 +1306,7 @@ nve_osalloc(PNV_VOID ctx, PMEMORY_BLOCK sc = (struct nve_softc *)ctx; mem->pLogical = (PVOID)contigmalloc(mem->uiLength, M_DEVBUF, - M_NOWAIT | M_ZERO, 0, ~0, PAGE_SIZE, 0); + M_NOWAIT | M_ZERO, 0, 0xffffffff, PAGE_SIZE, 0); if (!mem->pLogical) { device_printf(sc->dev, "memory allocation failed\n"); -- Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051210125221.M23668>