Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jan 2006 20:47:01 +0100
From:      Anders Nordby <anders@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-acpi@freebsd.org, bug-followup@freebsd.org, uralmetal@gmail.com
Subject:   Re: i386/89545: Compaq DL 360 ACPI boot problem
Message-ID:  <20060103194701.GA5756@totem.fix.no>
In-Reply-To: <200601030924.43950.jhb@freebsd.org>
References:  <200512311230.jBVCUBfP075728@freefall.freebsd.org> <200601030924.43950.jhb@freebsd.org>

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

--oyUTqETQ0mS9luUI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

On Tue, Jan 03, 2006 at 09:24:43AM -0500, John Baldwin wrote:
> Ok, looks like it is ACPI_SERIAL_BEGIN() it is hanging on.  Also, the reason 
> you don't see the pritnf's in 6-stable is the devices are now marked quiet so 
> they don't show up in dmesg by default anymore.  The problem is I must have 
> forgotten to release the pci_link lock somewhere.  If you had INVARIANTS on 
> it should have panic'd in sx_xlock.  As it is, I think this patch will fix 
> the hangs on both 6.x and 7.0:
> 
> Index: acpi_pci_link.c
> ===================================================================
> RCS file: /usr/cvs/src/sys/dev/acpica/acpi_pci_link.c,v
> retrieving revision 1.51
> diff -u -r1.51 acpi_pci_link.c
> --- acpi_pci_link.c     5 Dec 2005 19:50:00 -0000       1.51
> +++ acpi_pci_link.c     3 Jan 2006 14:24:23 -0000
> @@ -449,8 +449,10 @@
>                 }
>         }
>         sc->pl_num_links = creq.count;
> -       if (creq.count == 0)
> +       if (creq.count == 0) {
> +               ACPI_SERIAL_END(pci_link);
>                 return (0);
> +       }
>         sc->pl_links = malloc(sizeof(struct link) * sc->pl_num_links,
>             M_PCI_LINK, M_WAITOK | M_ZERO);

I applied the patch on the same RELENG_6 installation I upgraded to the
other day, which also has the printf patch. Using what you suggest above,
I get further. But now I get a panic. Log attached.

Cheers,

-- 
Anders.

--oyUTqETQ0mS9luUI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="anderstest.log"

Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 6.0-STABLE #0: Sat Dec 31 02:04:34 UTC 2005
    root@anderstest:/usr/obj/usr/src/sys/SMP
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) III CPU family      1133MHz (1130.46-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6b1  Stepping = 1
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 671072256 (639 MB)
avail memory = 647356416 (617 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <COMPAQ MICRO> on motherboard
acpi0: Power Button (fixed)
unknown: I/O range not supported
attach started
pci_link0: calling _CRS
pci_link0: _CRS returned AE_OK
pci_link0: num_links = 0
attach started
pci_link1: calling _CRS
pci_link1: _CRS returned AE_OK
pci_link1: num_links = 1
pci_link1: 1 links initialized after child links
pci_link1: calling _CRS again
pci_link1: _CRS returned AE_OK
pci_link1: calling _PRS again
pci_link1: _PRS returned AE_OK
attach started
pci_link2: calling _CRS
pci_link2: _CRS returned AE_OK
pci_link2: num_links = 1
pci_link2: 1 links initialized after child links
pci_link2: calling _CRS again
pci_link2: _CRS returned AE_OK
pci_link2: calling _PRS again
pci_link2: _PRS returned AE_OK
attach started
pci_link3: calling _CRS
pci_link3: _CRS returned AE_OK
pci_link3: num_links = 1
pci_link3: 1 links initialized after child links
pci_link3: calling _CRS again
pci_link3: _CRS returned AE_OK
pci_link3: calling _PRS again
pci_link3: _PRS returned AE_OK
attach started
pci_link4: calling _CRS
pci_link4: _CRS returned AE_OK
pci_link4: num_links = 1
pci_link4: 1 links initialized after child links
pci_link4: calling _CRS again
pci_link4: _CRS returned AE_OK
pci_link4: calling _PRS again
pci_link4: _PRS returned AE_OK
attach started
pci_link5: calling _CRS
pci_link5: _CRS returned AE_OK
pci_link5: num_links = 1
pci_link5: 1 links initialized after child links
pci_link5: calling _CRS again
pci_link5: _CRS returned AE_OK
pci_link5: calling _PRS again
pci_link5: _PRS returned AE_OK
attach started
pci_link6: calling _CRS
pci_link6: _CRS returned AE_OK
pci_link6: num_links = 1
pci_link6: 1 links initialized after child links
pci_link6: calling _CRS again
pci_link6: _CRS returned AE_OK
pci_link6: calling _PRS again
pci_link6: _PRS returned AE_OK
attach started
pci_link7: calling _CRS
pci_link7: _CRS returned AE_OK
pci_link7: num_links = 1
pci_link7: 1 links initialized after child links
pci_link7: calling _CRS again
pci_link7: _CRS returned AE_OK
pci_link7: calling _PRS again
pci_link7: _PRS returned AE_OK
attach started
pci_link8: calling _CRS
pci_link8: _CRS returned AE_OK
pci_link8: num_links = 1
pci_link8: 1 links initialized after child links
pci_link8: calling _CRS again
pci_link8: _CRS returned AE_OK
pci_link8: calling _PRS again
pci_link8: _PRS returned AE_OK
attach started
pci_link9: calling _CRS
pci_link9: _CRS returned AE_OK
pci_link9: num_links = 1
pci_link9: 1 links initialized after child links
pci_link9: calling _CRS again
pci_link9: _CRS returned AE_OK
pci_link9: calling _PRS again
pci_link9: _PRS returned AE_OK
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x240-0x243 on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> on acpi0
pci_link6: BIOS IRQ 3 for 0.1.INTA is invalid
panic: acpi_pci_link_add_reference: apparently invalid index 0
cpuid = 0
Uptime: 1s
Automatic reboot in 15 seconds - press a key on the console to abort
Rebooting...

--oyUTqETQ0mS9luUI--



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