From owner-freebsd-current Sun Nov 3 18:35:39 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA29751 for current-outgoing; Sun, 3 Nov 1996 18:35:39 -0800 (PST) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id SAA29741 for ; Sun, 3 Nov 1996 18:35:34 -0800 (PST) Received: from msmith@localhost by genesis.atrad.adelaide.edu.au (8.6.12/8.6.9) id NAA11253; Mon, 4 Nov 1996 13:04:49 +1030 From: Michael Smith Message-Id: <199611040234.NAA11253@genesis.atrad.adelaide.edu.au> Subject: Re: 2.2 release cycle: userconfig problem To: joerg_wunsch@uriah.heep.sax.de Date: Mon, 4 Nov 1996 13:04:49 +1030 (CST) Cc: freebsd-current@FreeBSD.org In-Reply-To: <199611040021.BAA01274@uriah.heep.sax.de> from "J Wunsch" at Nov 4, 96 01:21:26 am MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk 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 [[