Date: Wed, 23 Jul 2008 23:21:42 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: marius@alchemy.franken.de Cc: marcel@freebsd.org, perforce@freebsd.org Subject: Re: PERFORCE change 144842 for review Message-ID: <20080723.232142.72462054.imp@bsdimp.com> In-Reply-To: <20080713122907.GA63008@alchemy.franken.de> References: <200807071855.m67ItHQp084707@repoman.freebsd.org> <20080713122907.GA63008@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20080713122907.GA63008@alchemy.franken.de> Marius Strobl <marius@alchemy.franken.de> writes: : On Mon, Jul 07, 2008 at 06:55:17PM +0000, Marcel Moolenaar wrote: : > http://perforce.freebsd.org/chv.cgi?CH=144842 : > : > Change 144842 by marcel@marcel_xcllnt on 2008/07/07 18:55:11 : > : > ISA_PNP_PROBE() can also return ENOENT. : > So, assume a match when the error is 0, not != ENXIO. : > : > Affected files ... : > : > .. //depot/projects/uart/dev/uart/uart_bus_isa.c#13 edit : > : > Differences ... : > : > ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#13 (text+ko) ==== : > : > @@ -170,7 +170,7 @@ : > sc = device_get_softc(dev); : > : > /* Probe PnP _and_ non-PnP ns8250 here. */ : > - if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) != ENXIO) { : > + if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) == 0) { : > sc->sc_class = &uart_ns8250_class; : > return (uart_bus_probe(dev, 0, 0, 0, 0)); : > } : : Unfortunately, this now no longer probes non-PnP ns8250. You'll : probably need something like the following to actually probe both: : if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) == 0 || : isa_get_vendorid(dev) == 0) Or to save the error like ep does: int error = 0; /* Check isapnp ids */ error = ISA_PNP_PROBE(device_get_parent(dev), dev, ep_ids); /* If the card had a PnP ID that didn't match any we know about */ if (error == ENXIO) return (error); /* If we had some other problem. */ if (!(error == 0 || error == ENOENT)) return (error); ... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080723.232142.72462054.imp>