From owner-freebsd-stable@FreeBSD.ORG Wed Feb 26 19:41:12 2014 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0F2C1233; Wed, 26 Feb 2014 19:41:12 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D96F11384; Wed, 26 Feb 2014 19:41:11 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 756E4B922; Wed, 26 Feb 2014 14:41:08 -0500 (EST) From: John Baldwin To: Sergey Matveychuk Subject: Re: Fwd: panic after upgrade to 10 Date: Wed, 26 Feb 2014 14:41:02 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <5308B98C.6070807@semmy.ru> <201402261124.01275.jhb@freebsd.org> <530E3D85.8060906@FreeBSD.org> In-Reply-To: <530E3D85.8060906@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201402261441.02262.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 26 Feb 2014 14:41:08 -0500 (EST) Cc: freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Feb 2014 19:41:12 -0000 On Wednesday, February 26, 2014 2:16:21 pm Sergey Matveychuk wrote: > Yes, no panic now. > For some reason agp0 is Intel 82855GM host to AGP bridge and agp1 is VGA= =20 > controller itself. Yes, on this machine we should probably only be using agp1 and not agp0. I'm guessing 8.x simply did not have 'device agp' in GENERIC which is why you didn't see this. Right now my patch is preventing the panic, but /dev/agpgart probably isn't working quite right. I guess you aren't running X on this though? > I've attached dmesg and pciconf output. >=20 > Please, note, i've filled kern/187015 for this problem. >=20 > 26.02.2014 20:24, John Baldwin =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > On Saturday, February 22, 2014 10:06:50 am Sergey Matveychuk wrote: > >> Hi. > >> > >> I've tried to upgrade my home router to FreeBSD 10-STABLE from 8.x. And > >> got this panic: https://www.dropbox.com/s/fxsily501x50vtw/A8eRRRJKbYM.= jpg > >> > >> panic: make_dev_credv: bad si_name (error=3D17, si_name=3Dagpgart) > >> > >> How it could be fixed or how work around to boot? > > > > I think the problem is there can only be one /dev/agpgart and this trie= d=20 to > > create two. Odd that you would have two agp devices though. > > > > Try this patch which should fix the panic, but then capture a dmesg and > > 'pciconf -lcb' output. > > > > Index: sys/dev/agp.c > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > --- agp.c (revision 262488) > > +++ agp.c (working copy) > > @@ -212,6 +212,7 @@ int > > agp_generic_attach(device_t dev) > > { > > struct agp_softc *sc =3D device_get_softc(dev); > > + struct cdev *cdev; > > int i; > > u_int memsize; > > > > @@ -256,10 +257,11 @@ agp_generic_attach(device_t dev) > > TAILQ_INIT(&sc->as_memory); > > sc->as_nextid =3D 1; > > > > - sc->as_devnode =3D make_dev(&agp_cdevsw, > > - 0, UID_ROOT, GID_WHEEL, 0600, "agpgart"); > > - sc->as_devnode->si_drv1 =3D dev; > > - > > + if (make_dev_p(MAKEDEV_CHECKNAME, &cdev, &agp_cdevsw, NULL, UID_ROOT, > > + GID_WHEEL, 0600, "agpgart") =3D=3D 0) { > > + cdev->si_drv1 =3D dev; > > + sc->as_devnode =3D cdev; > > + } > > return 0; > > } > > > > @@ -268,7 +270,8 @@ agp_free_cdev(device_t dev) > > { > > struct agp_softc *sc =3D device_get_softc(dev); > > > > - destroy_dev(sc->as_devnode); > > + if (sc->as_devnode !=3D NULL) > > + destroy_dev(sc->as_devnode); > > } > > > > void > > > > >=20 =2D-=20 John Baldwin