Date: Fri, 31 Jul 2015 12:52:36 -0500 From: Larry Rosenman <ler@lerctr.org> To: Warner Losh <imp@bsdimp.com> Cc: Glen Barber <gjb@FreeBSD.org>, Benno Rice <benno@freebsd.org>, <freebsd-current@freebsd.org> Subject: Re: pmspcv panic on boot on this box Message-ID: <14ee53e57a8.2846.a6b027662ce9a8103f88b1e74d3c5524@lerctr.org> In-Reply-To: <9B59F252-D41D-4714-A983-356E525359FD@bsdimp.com> References: <20150730201351.GH90754@FreeBSD.org> <20150730201517.GI90754@FreeBSD.org> <ef34a26f9f5ba7ca413f79fd914c6b86@thebighonker.lerctr.org> <20150730221728.GK90754@FreeBSD.org> <452d406c68674df3834c75bd3736e6dc@thebighonker.lerctr.org> <20150731041815.GO90754@FreeBSD.org> <20150731042114.GP90754@FreeBSD.org> <af81a9c15931a72e2296cd9f28f462f9@thebighonker.lerctr.org> <20150731065016.GT90754@FreeBSD.org> <20150731102721.GA824@oldtbh.lerctr.org> <20150731133214.GV90754@FreeBSD.org> <14ee48f81d8.2846.a6b027662ce9a8103f88b1e74d3c5524@lerctr.org> <9B59F252-D41D-4714-A983-356E525359FD@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Is this with or without Benno's patch? On July 31, 2015 12:24:11 PM Warner Losh <imp@bsdimp.com> wrote: > Try the following patch. There’s a fundamental misunderstanding of newbus > that’s screwing things up… > > Also available at http://people.freebsd.org/~imp/patch-queue/pms > > The problem is that the first time through for ahd0 we’re setting > cardMap[0] to 5. The second time through it is already 5, so we say ‘oh, > this has been probed before’ and return 2. This causes antiapi_probe() to > return 0, because the card has already been probed before. This is wrong on > so many levels, but I’ll suppress channelling my inner bde and stop here. > > Warner > > diff -r 1805eb187340 sys/dev/pms/freebsd/driver/common/lxutil.c > --- a/sys/dev/pms/freebsd/driver/common/lxutil.c > +++ b/sys/dev/pms/freebsd/driver/common/lxutil.c > @@ -757,18 +757,25 @@ STATIC int agtiapi_ProbeCard( device_t d > { > int idx; > static U32 cardMap[4] = { 0, 0, 0, 0 }; > + u_int16_t agtiapi_vendor; // PCI vendor ID > u_int16_t agtiapi_dev; // PCI device ID > AGTIAPI_PRINTK("agtiapi_ProbeCard: start\n"); > > +#if 0 > if ( ! atomic_cmpset_32( &cardMap[thisCard], 0, 5 ) ) { // card already ran > AGTIAPI_PRINTK( "We'll only ID this card once -- %d\n", thisCard ); > return 2; // error return value; card already ran this function > } > else { > +#else > + { > +#endif > + agtiapi_vendor = pci_get_vendor( dev ); // get PCI vendor ID > agtiapi_dev = pci_get_device( dev ); // get PCI device ID > for( idx = 0; idx < COUNT(ag_card_type); idx++ ) > { > - if( ag_card_type[idx].deviceId == agtiapi_dev ) > + if( ag_card_type[idx].deviceId == agtiapi_dev && > + ag_card_type[idx].vendorId == agtiapi_vendor) > { // device ID match > memset( (void *)&agCardInfoList[ thisCard ], 0, > sizeof(ag_card_info_t) ); > > > > > On Jul 31, 2015, at 8:41 AM, Larry Rosenman <ler@lerctr.org> wrote: > > > > Please do pull it from GENERIC until this is fixed in HEAD and RELENG/10. > > > > > > On July 31, 2015 8:32:17 AM Glen Barber <gjb@FreeBSD.org> wrote: > > > >> On Fri, Jul 31, 2015 at 05:27:22AM -0500, Larry Rosenman wrote: > >> > Ok, I made a GENERIC-NOPMS, without the device pmspcv, and adjusted my > custom > >> > to include GENERIC-NOPMS. And we boot (I'm typing this from a ssh > session > >> > to the box). > >> > > >> > >> Larry, thank you very much for testing this. > >> > >> Benno, for 10.2-RELEASE, I think we're going to pull pmspcv from GENERIC > >> and issue an EN for the driver update when this is fixed. > >> > >> I think this should be pulled from GENERIC in head and stable/10 in the > >> meantime, as well. > >> > >> Glen > >> > > > > > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14ee53e57a8.2846.a6b027662ce9a8103f88b1e74d3c5524>