Skip site navigation (1)Skip section navigation (2)
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>