feisty, thinkpad sound missing after resume

Tomasz Torcz zdzichu at irc.pl
Tue May 15 17:12:49 UTC 2007


  one patch in Linux kernel made sound not working on Thinkpad laptops
after resume from hibernation. Bug is here:

  After *reverting* said patch (attached) sound works after resume. Few
people tested kernel with patch reverted and so far they report 100%
success. At least on ThinkPad. According to patch description some
systems need this patch, so proper solution would probably involve DMI
based quirk list. But for now simple revert fixes sound.

  According to comments in bug-report, upstream maintainer has been

Tomasz Torcz              ,,If you try to upissue this patchset I shall be seeking
zdzichu at irc.-nie.spam-.pl   an IP-routable hand grenade.'' -- Andrew Morton (LKML)

-------------- next part --------------
From: Rafael J. Wysocki <rjw at sisk.pl>
Date: Wed, 1 Nov 2006 12:23:14 +0000 (+0100)
Subject: ACPI: S4: Use "platform" rather than "shutdown" mode by default
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Flenb%2Flinux-acpi-2.6.git;a=commitdiff_plain;h=9185cfa92507d07ac787bc73d06c42222eec7239

ACPI: S4: Use "platform" rather than "shutdown" mode by default

It has been reported that on some systems the functionality after a resume
from disk is limited if the system is simply powered off during the suspend
instead of using the ACPI S4 suspend (aka platform mode).

Unfortunately the default is currently to power off the system during the
suspend so the users of these systems experience problems after the resume
if they don't switch to the platform mode explicitly.  This patch makes swsusp
use the platform mode by default to avoid such situations.

Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>
Acked-by: Stefan Seyfried <seife at suse.de>
Acked-by: Pavel Machek <pavel at ucw.cz>
Signed-off-by: Len Brown <len.brown at intel.com>

diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index d3a158a..ae6bbc9 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -44,9 +44,11 @@ static void power_down(suspend_disk_method_t mode)
 	switch(mode) {
-		kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
-		error = pm_ops->enter(PM_SUSPEND_DISK);
-		break;
+		if (pm_ops && pm_ops->enter) {
+			kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
+			error = pm_ops->enter(PM_SUSPEND_DISK);
+			break;
+		}
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 873228c..1210961 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -27,7 +27,7 @@
 struct pm_ops *pm_ops;
-suspend_disk_method_t pm_disk_mode = PM_DISK_SHUTDOWN;
+suspend_disk_method_t pm_disk_mode = PM_DISK_PLATFORM;
  *	pm_set_ops - Set the global power method table. 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 229 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20070515/7896c532/attachment.sig>

More information about the kernel-team mailing list