[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: