Skip site navigation (1)Skip section navigation (2)
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>