Date: Mon, 4 Nov 1996 13:04:49 +1030 (CST) From: Michael Smith <msmith@atrad.adelaide.edu.au> To: joerg_wunsch@uriah.heep.sax.de Cc: freebsd-current@FreeBSD.org Subject: Re: 2.2 release cycle: userconfig problem Message-ID: <199611040234.NAA11253@genesis.atrad.adelaide.edu.au> In-Reply-To: <199611040021.BAA01274@uriah.heep.sax.de> from "J Wunsch" at Nov 4, 96 01:21:26 am
next in thread | previous in thread | raw e-mail | index | archive | help
J Wunsch stands accused of saying:
>
> While installing my pre-release of 2.2, i've just got a panic when
> finishing UserConfig. Are there any experts for UserConfig around?
Err, you should know where to find me 8)
> static void
> savelist(DEV_LIST *list, int active)
> {
> struct isa_device *id_p,*id_pn;
>
> while (list)
> {
> if ((list->comment == DEV_DEVICE) && list->changed)
> {
> setdev(list,active); /* set the device itself */
>
> id_pn = NULL;
> for (id_p=isa_devlist; id_p; id_p=id_p->id_next)
> { /* look on the list for it */
> if (id_p->id_id == list->device->id_id)
> ^^^^^^^^^^^^^^^^^^^
You appear to have managed to set the changed flag on a PCI device. This
code is not protected from that (it should be).
Here is a patch (warning, snarf-n-barf tab damage):
*** userconfig.c.old Mon Nov 4 13:00:29 1996
--- userconfig.c Mon Nov 4 13:02:38 1996
***************
*** 674,679 ****
--- 674,682 ----
{
if ((list->comment == DEV_DEVICE) && list->changed)
{
+ if (list->iobase == -2)
+ continue; /* is a PCI device; can't save */
+
setdev(list,active); /* set the device itself */
id_pn = NULL;
If this works, let me know and I'll commit it.
--
]] Mike Smith, Software Engineer msmith@gsoft.com.au [[
]] Genesis Software genesis@gsoft.com.au [[
]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[
]] realtime instrument control. (ph) +61-8-8267-3493 [[
]] Unix hardware collector. "Where are your PEZ?" The Tick [[
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611040234.NAA11253>
