Re: Bug#258061: marked as done ([PATCH] ACPI initialization hangs on Compaq Presario 2100)
On Thu, Aug 26, 2004 at 06:30:45PM +0200, Francesco P. Lovergine wrote:
> On Wed, Aug 25, 2004 at 01:03:13PM -0700, Debian Bug Tracking System wrote:
> >
> > Package: kernel-source-2.6.7
> > Version: 2.6.7-2
> > Severity: important
> > Tags: patch
> >
> > Hi,
> >
> > I've sent a message to debian-kernel with no success, so I'm trying to
> > report a bug about this problem I've faced. In my Compaq Presario 2100,
> > when I boot the system with "acpi=on" as one of my kernel parameters,
> > the system hangs when trying to initialize ACPI (it has happened to all
> > 2.6 versions I've tried). I've looked into the web to find out something
> > to fix this issue and I found a tiny patch that solved the problem. The
> > patch basically disables APIC timer before ACPI initialization and
> > re-enables it when ACPI initialization finishes. Below I write the patch
> > for your knowledgement.
> >
> > Hope this helps solving the problem!
> >
> > Thanks a lot,
> > Bruno.
> >
> > diff -Bru linux-2.6.0-test8/arch/i386/kernel/apic.c
> > patched/arch/i386/kernel/apic.c
> > --- linux-2.6.0-test8/arch/i386/kernel/apic.c 2003-10-18
> > 05:43:36.000000000 +0800
> > +++ patched/arch/i386/kernel/apic.c 2003-10-30 23:17:50.000000000
> > +0800
> > @@ -836,8 +836,8 @@
> > {
> > unsigned int lvtt1_value, tmp_value;
> >
> > - lvtt1_value = SET_APIC_TIMER_BASE(APIC_TIMER_BASE_DIV) |
> > - APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
> > + lvtt1_value = APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
> > +
> > apic_write_around(APIC_LVTT, lvtt1_value);
> >
> > /*
> > diff -Bru linux-2.6.0-test8/drivers/acpi/bus.c
> > patched/drivers/acpi/bus.c
> > --- linux-2.6.0-test8/drivers/acpi/bus.c 2003-10-18
> > 05:43:19.000000000 +0800
> > +++ patched/drivers/acpi/bus.c 2003-10-30 23:20:32.000000000 +0800
> > @@ -589,6 +589,7 @@
> >
> > ACPI_FUNCTION_TRACE("acpi_bus_init");
> >
> > + disable_APIC_timer();
> > status = acpi_initialize_subsystem();
> > if (ACPI_FAILURE(status)) {
> > printk(KERN_ERR PREFIX "Unable to initialize the ACPI
> > Interpreter\n");
> > @@ -643,6 +644,7 @@
> > goto error1;
> > }
> >
> > + enable_APIC_timer();
> > printk(KERN_INFO PREFIX "Interpreter enabled\n");
> >
> > /*
> > @@ -672,6 +674,7 @@
> > error1:
> > acpi_terminate();
> > error0:
> > + enable_APIC_timer();
> > return_VALUE(-ENODEV);
> > }
> >
>
> BTW, there is exactly the same problem with 2.4 series (at least 2.4.25 which was
> available when I did a few tests with this kind of laptops).
> Sorry, I did not point this soon...
Can you test wit h2.4.26/2.4.27, and fill a new bug report if the problem is
still present ?
Friendly,
Sven Luther
Reply to: