i386/89545: Compaq DL 360 ACPI boot problem

OxY oxy at field.hu
Tue Jan 3 08:45:38 PST 2006


if the patch works, please send a letter to the list, i am interested too, 
posted the same problem a month ago..
thx!

----- Original Message ----- 
From: "John Baldwin" <jhb at freebsd.org>
To: <freebsd-acpi at freebsd.org>; "Anders Nordby" <anders at freebsd.org>
Sent: Tuesday, January 03, 2006 3:24 PM
Subject: Re: i386/89545: Compaq DL 360 ACPI boot problem


> On Saturday 31 December 2005 07:30 am, Anders Nordby wrote:
>> The following reply was made to PR i386/89545; it has been noted by 
>> GNATS.
>>
>> From: Anders Nordby <anders at FreeBSD.org>
>> To: John Baldwin <jhb at freebsd.org>
>> Cc: bug-followup at freebsd.org, uralmetal at gmail.com
>> Subject: Re: i386/89545: Compaq DL 360 ACPI boot problem
>> Date: Sat, 31 Dec 2005 13:27:28 +0100
>>
>>  Hi,
>>
>>  On Thu, Dec 29, 2005 at 10:34:15PM +0100, Anders Nordby wrote:
>>  > (..)
>>
>>  For the record. I just tried using 6.0-STABLE as of december 30. It
>>  still hangs:
>>
>>  acpi0: <COMPAQ MICRO> on motherboard
>>  acpi0: Power Button (fixed)
>>  unknown: I/O range not supported
>>
>>  But now it stops earlier, or at least it doesn't print the pci_link<n>:
>>  lines.
>>
>>  Applying the printf patch then, I get:
>>
>>  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
>>
>>  Phew, luckily acpi is a module, so I only need to recompile it instead
>>  of the whole kernel. I had ACPI problems with FreeBSD 6 on other Compaq
>>  servers as well, one DL 580. Once we get this solved for DL 360 I can 
>> try
>>  with the 580 (it is in production, so I can not easily take it down when
>>  I want -- but it would be nice to use both CPUs on it ;-)).
>
> 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);
>
>
> -- 
> John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
> _______________________________________________
> freebsd-acpi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe at freebsd.org" 



More information about the freebsd-acpi mailing list