rpms/kernel/F-9 linux-2.6-acpi-clear-wake-status.patch, NONE, 1.1 linux-2.6-acpi-ignore-reset_reg_sup.patch, NONE, 1.1 kernel.spec, 1.827, 1.828

Chuck Ebbert cebbert at fedoraproject.org
Thu Oct 30 20:42:38 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32563

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-acpi-clear-wake-status.patch 
	linux-2.6-acpi-ignore-reset_reg_sup.patch 
Log Message:
Two ACPI reboot / resume fixes from F10.

linux-2.6-acpi-clear-wake-status.patch:

--- NEW FILE linux-2.6-acpi-clear-wake-status.patch ---
From: Matthew Garrett <mjg59 at srcf.ucam.org>
Date: Wed, 6 Aug 2008 18:12:04 +0000 (+0100)
Subject: ACPI: Clear WAK_STS on resume
X-Git-Tag: v2.6.28-rc1~26^2~12^2~4
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=a68823ee5285e65b51ceb96f8b13a5b4f99a6888

ACPI: Clear WAK_STS on resume

The leading other brand OS appears to clear the WAK_STS flag on resume.
When rebooted, certain BIOSes assume that the system is actually
resuming if it's still set and so fail to reboot correctly. Make sure
that it's cleared at resume time.

Comment clarified as suggested by Bob Moore

http://bugzilla.kernel.org/show_bug.cgi?id=11634

Signed-off-by: Matthew Garrett <mjg at redhat.com>
Signed-off-by: Andi Kleen <ak at linux.intel.com>
Tested-by: Christian Borntraeger <borntraeger at de.ibm.com>
Tested-by: Romano Giannetti <romano.giannetti at gmail.com>
Signed-off-by: Len Brown <len.brown at intel.com>
---

diff --git a/drivers/acpi/hardware/hwsleep.c b/drivers/acpi/hardware/hwsleep.c
index dba3cfb..130a44b 100644
--- a/drivers/acpi/hardware/hwsleep.c
+++ b/drivers/acpi/hardware/hwsleep.c
@@ -627,6 +627,13 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state)
 	}
 	/* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
 
+	/*
+	 * Some BIOSes assume that WAK_STS will be cleared on resume and use
+	 * it to determine whether the system is rebooting or resuming. Clear
+	 * it for compatibility.
+	 */
+	acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1);
+
 	acpi_gbl_system_awake_and_running = TRUE;
 
 	/* Enable power button */

linux-2.6-acpi-ignore-reset_reg_sup.patch:

--- NEW FILE linux-2.6-acpi-ignore-reset_reg_sup.patch ---
From: Zhao Yakui <yakui.zhao at intel.com>
Date: Fri, 17 Oct 2008 18:22:27 +0000 (-0400)
Subject: ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism
X-Git-Tag: v2.6.28-rc1~26^2~22^2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=8fd145917fb62368a9b80db59562c20576238f5a

ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism

According to ACPI 3.0, FADT.flags.RESET_REG_SUP indicates
whether the ACPI reboot mechanism is supported.

However, some boxes have this bit clear, have a valid
ACPI_RESET_REG & RESET_VALUE, and ACPI reboot is the only
mechanism that works for them after S3.

This suggests that other operating systems may not be checking
the RESET_REG_SUP bit, and are using other means to decide
whether to use the ACPI reboot mechanism or not.

Here we stop checking RESET_REG_SUP.
Instead, When acpi reboot is requested,
only the reset_register is checked. If the following
conditions are met, it indicates that the reset register is supported.
	a. reset_register is not zero
	b. the access width is eight
	c. the bit_offset is zero

http://bugzilla.kernel.org/show_bug.cgi?id=7299
http://bugzilla.kernel.org/show_bug.cgi?id=1148

Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
Signed-off-by: Len Brown <len.brown at intel.com>
---

diff --git a/drivers/acpi/reboot.c b/drivers/acpi/reboot.c
index a6b662c..755baf2 100644
--- a/drivers/acpi/reboot.c
+++ b/drivers/acpi/reboot.c
@@ -15,9 +15,28 @@ void acpi_reboot(void)
 
 	rr = &acpi_gbl_FADT.reset_register;
 
-	/* Is the reset register supported? */
-	if (!(acpi_gbl_FADT.flags & ACPI_FADT_RESET_REGISTER) ||
-	    rr->bit_width != 8 || rr->bit_offset != 0)
+	/*
+	 * Is the ACPI reset register supported?
+	 *
+	 * According to ACPI 3.0, FADT.flags.RESET_REG_SUP indicates
+	 * whether the ACPI reset mechanism is supported.
+	 *
+	 * However, some boxes have this bit clear, yet a valid
+	 * ACPI_RESET_REG & RESET_VALUE, and ACPI reboot is the only
+	 * mechanism that works for them after S3.
+	 *
+	 * This suggests that other operating systems may not be checking
+	 * the RESET_REG_SUP bit, and are using other means to decide
+	 * whether to use the ACPI reboot mechanism or not.
+	 *
+	 * So when acpi reboot is requested,
+	 * only the reset_register is checked. If the following
+	 * conditions are met, it indicates that the reset register is supported.
+	 * 	a. reset_register is not zero
+	 * 	b. the access width is eight
+	 * 	c. the bit_offset is zero
+	 */
+	if (!(rr->address) || rr->bit_width != 8 || rr->bit_offset != 0)
 		return;
 
 	reset_value = acpi_gbl_FADT.reset_value;


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.827
retrieving revision 1.828
diff -u -r1.827 -r1.828
--- kernel.spec	30 Oct 2008 19:48:50 -0000	1.827
+++ kernel.spec	30 Oct 2008 20:42:07 -0000	1.828
@@ -624,10 +624,13 @@
 Patch340: linux-2.6-debug-vm-would-have-oomkilled.patch
 Patch370: linux-2.6-crash-driver.patch
 Patch380: linux-2.6-defaults-pci_no_msi.patch
+
+Patch392: linux-2.6-acpi-clear-wake-status.patch
+Patch393: linux-2.6-acpi-ignore-reset_reg_sup.patch
+
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch402: linux-2.6-scsi-mpt-vmware-fix.patch
 
-
 # filesystem patches
 Patch421: linux-2.6-squashfs.patch
 
@@ -1129,6 +1132,9 @@
 ApplyPatch linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
 
 # ACPI
+# reboot / resume fixes from F10
+ApplyPatch linux-2.6-acpi-clear-wake-status.patch
+ApplyPatch linux-2.6-acpi-ignore-reset_reg_sup.patch
 
 # mm
 
@@ -1878,6 +1884,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Thu Oct 30 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.4-15
+- Two ACPI reboot / resume fixes from F10.
+
 * Thu Oct 30 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.4-14
 - Drop the defaults-fat-utf8 patch: upstream says it's wrong.
 




More information about the scm-commits mailing list