Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2002 01:37:33 +0900 (JST)
From:      Hirofumi SHINKE <shinke@newhouse.rim.or.jp>
To:        freebsd-stable@freebsd.org
Subject:   Kernel crashes on isa0 initialize
Message-ID:  <20021016.013733.41626224.shinke@newhouse.rim.or.jp>

next in thread | raw e-mail | index | archive | help


I have installed FreeBSD 4.7-stable to may laptop pc.
It is an old ISA based machine.

I found 4.7-stable kernel crashes in fatal trap 12 at boot time 
on the machine, while 4.7-RC kernel worked well.

So I examined differences between the versions 
and found new implementation of nexus_print_all_resources() 
in sys/i386/i386/nexus.c caused the trouble.
On my machine, DEVTONX(dev) at first line of the function 
returns null pointer for device isa0, and then a pointer 
reference in the next line leads to page fault.

I could workarounded the problem as bellow, but i wonder 
what's the right way?
Which is the case whether
- my isa controller is broken or buggy
- or that is bug accompanied by recent changes on kernl ?


*** nexus.c.bk  Mon Oct 14 15:12:41 2002
--- nexus.c     Mon Oct 14 16:40:33 2002
***************
*** 257,265 ****
  static int
  nexus_print_all_resources(device_t dev)
  {
-       struct  nexus_device *ndev = DEVTONX(dev);
-       struct resource_list *rl = &ndev->nx_resources;
        int retval = 0;
  
        if (SLIST_FIRST(rl))
                retval += printf(" at");
--- 257,270 ----
  static int
  nexus_print_all_resources(device_t dev)
  {
        int retval = 0;
+       struct  nexus_device *ndev = DEVTONX(dev);
+       struct resource_list *rl;
+ 
+       if( ! ndev ){
+               retval += printf( "(no rerource infomation)");
+               return retval;
+       }
  
        if (SLIST_FIRST(rl))
                retval += printf(" at");

----
Hirofumi SHINKE, Yokohama, Japan
shinke@newhouse.rim.or.jp


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021016.013733.41626224.shinke>