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

Bug#290039: Bug#289517: kernel-image-2.4.27-1-686: startup errors

tag 290039 +patch
tag 290013 +patch
tag 289517 +patch


Thanks to all for the bug reports. I am replying to all three at once
because I believe that they all have the same cause, namely the
inclusion of patch 103-enter-acpi-early.diff in kernel-source-2.4.27
2.4.27-7. In a nutshell this reversed some special handling of
machines that are known not to work with local APIC.
Namely the T20, Dell Latitite, and Dell Inspiron.

Unforunately this patch, which was taken from upstream, 
had a small bug wherby even if acpi=off was set at boot time,
some parts of the APIC subsystem were still intialised.
Given that I understand that using acpi=off is the recommended
way to use the machines mentioned above, and others which can't
handle local APIC, clearly this is an issue. Unless you want to
recompile the kernel, which you probably don't else we wouldn't be 

Attached is another patch from upstream which resolves this problem.
I will get it into SVN and build some packages. However the latter 
likely won't happen until Monday as my HW resources are currently
tied up.

If anyone has a chance to test this patch it would help a lot and I
would be most grateful as I do not posess a T20, though I nearly did, but
that is a long story.

# origin: len.brown (BitKeeper)
# cset: 1.1458.1.9 (2.4) key=41afcab8Wwiw4tJmged5k36s38Ms8A
# inclusion: upstream
# descrition: [ACPI] acpi=off must disable acpi_early_init()
# revision date: Fri, 14 Jan 2005 19:32:18 +0900
# S rset: ChangeSet|1.1458.1.8..1.1458.1.9
# I rset: drivers/acpi/bus.c|1.31..1.32
# Key:
# S: Skipped  ChangeSet file only
# O: Original Followed by Updated
# U: Updated  Included with updated range of versions
# I: Included Included verbatim
# E: Excluded Excluded on request from user
# D: Deleted  Manually deleted by subsequent user edit
# This is a BitKeeper generated diff -Nru style patch.
# ChangeSet
#   2004/12/02 21:08:56-05:00 len.brown@intel.com 
#   [ACPI] acpi=off must disable acpi_early_init()
#   Signed-off-by: Philippe Troin <phil@fifi.org>
#   Signed-off-by: Len Brown <len.brown@intel.com>
# drivers/acpi/bus.c
#   2004/12/02 21:08:54-05:00 len.brown@intel.com +6 -3
#   acpi_early_init() should not run if acpi=off
===== drivers/acpi/bus.c 1.31 vs 1.32 =====
--- 1.31/drivers/acpi/bus.c	2004-08-25 11:54:26 +09:00
+++ 1.32/drivers/acpi/bus.c	2004-12-03 11:08:54 +09:00
@@ -1850,7 +1850,10 @@
 	acpi_status		status = AE_OK;
 	struct acpi_buffer	buffer = {sizeof(acpi_fadt), &acpi_fadt};
-	ACPI_FUNCTION_TRACE("acpi_bus_init");
+	ACPI_FUNCTION_TRACE("acpi_early_init");
+	if (acpi_disabled)
+		return_VOID;
 	status = acpi_initialize_subsystem();
 	if (ACPI_FAILURE(status)) {
@@ -1899,11 +1902,11 @@
 		goto error0;
-	return;
+	return_VOID;
-	return;
+	return_VOID;
 static int __init

Reply to: