Date: Mon, 12 Dec 2005 16:31:33 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: FreeBSD current mailing list <current@freebsd.org> Subject: Re: nve(4) patch - please test! Message-ID: <200512130031.jBD0VXih011394@apollo.backplane.com> References: <20051209175607.C23668@maildrop.int.zabbadoz.net> <20051210125221.M23668@maildrop.int.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
: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); :- This is very odd. I don't understand how making ABI calls prior to calling pfnInit() would help matters. Perhaps the actual problem was that the ABI calls were previously being made after interrupts were enabled and after the device was started. What happens if you move the setmulti and ifmedia calls to after the pfnInit() call but before the pfnEnableInterrupts() and Start calls? -Matt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200512130031.jBD0VXih011394>