Date: Tue, 26 Jan 2010 18:53:00 +0300 From: Dmitry Sivachenko <demon@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-stable@freebsd.org, yongari@freebsd.org Subject: Re: RELENG_7 if_nve panic Message-ID: <20100126155300.GA87838@m4-new.master-telecom.ru> In-Reply-To: <201001260949.46082.jhb@freebsd.org> References: <20100126092905.GA47528@m4-new.master-telecom.ru> <201001260949.46082.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 26, 2010 at 09:49:45AM -0500, John Baldwin wrote:
> On Tuesday 26 January 2010 4:29:05 am Dmitry Sivachenko wrote:
> > Hello!
> >
> > I recompiled recent RELENG_7 and I get the following panic after
> > trying to kldload if_nve (interesting stack frames are 12, 13, 14 I guess).
> > Previous version of RELENG_7 (compiled in the middle of December)
> > worked fine. Last few days I was trying to re-cvsup and always get the
> > same panic. I get FreeBSD sources via cvsup (cvsup5.freebsd.org).
> >
> > Any suggestions?
> >
> > Thanks in advance!
>
> The bug is perhaps in e1000phy in that it expects all callers to have called
> if_initname() before the miibus is probed. Try this patch:
That patch solves the problem, thanks!
>
> Index: if_nve.c
> ===================================================================
> --- if_nve.c (revision 202705)
> +++ if_nve.c (working copy)
> @@ -526,14 +526,6 @@
> goto fail;
> }
>
> - /* Probe device for MII interface to PHY */
> - DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n");
> - if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) {
> - device_printf(dev, "MII without any phy!\n");
> - error = ENXIO;
> - goto fail;
> - }
> -
> /* Setup interface parameters */
> ifp->if_softc = sc;
> if_initname(ifp, device_get_name(dev), device_get_unit(dev));
> @@ -549,6 +541,14 @@
> ifp->if_capabilities |= IFCAP_VLAN_MTU;
> ifp->if_capenable |= IFCAP_VLAN_MTU;
>
> + /* Probe device for MII interface to PHY */
> + DEBUGOUT(NVE_DEBUG_INIT, "nve: do mii_phy_probe\n");
> + if (mii_phy_probe(dev, &sc->miibus, nve_ifmedia_upd, nve_ifmedia_sts)) {
> + device_printf(dev, "MII without any phy!\n");
> + error = ENXIO;
> + goto fail;
> + }
> +
> /* Attach to OS's managers. */
> ether_ifattach(ifp, eaddr);
>
>
> --
> John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100126155300.GA87838>
