Hi, my Mac mini core duo used to wake up from suspend to RAM when a key or mouse button is pressed. This doesn't work anymore with 2.6.27-rc, the current version that I tried is 2.6.27-rc7. I checked /proc/acpi/wakeup for differences, with 2.6.26 and 2.6.27-rc, but both were identical: Device S-state Status Sysfs node PXS1 S4 disabled pci:0000:01:00.0 PXS2 S4 disabled pci:0000:02:00.0 USB1 S3 disabled pci:0000:00:1d.0 USB2 S3 disabled pci:0000:00:1d.1 USB3 S3 disabled pci:0000:00:1d.2 USB4 S3 disabled pci:0000:00:1d.3 USB7 S3 enabled pci:0000:00:1d.7 Wakeup with the power switch at the back still works. Any hints if there are some commits that I should try to revert, before I start bisecting? Regards, Tino --
Forgot to mention: both devices are USB devices. Regards, Tino --
I don't think you need to revert anything. :-) Please check if the /sys/devices/.../power/wakeup file contains 'enabled' for the USB controller pci:0000:00:1d.7 (I assume this is the one the keyboard & mouse are attached to). If it doesn't, please try to write 'enabled' to this file and retest. Thanks, Rafael --
Yes, this works. Thanks. Regards, Tino --
This actually is a regression for which I'm sorry.
Can you please check if the appended patch restores the previous behavior?
Thanks,
Rafael
---
From: Rafael J. Wysocki <rjw@sisk.pl>
ACPI: Make /proc/acpi/wakeup interface handle PCI devices
Make the ACPI /proc/acpi/wakeup interface set the appropriate
wake-up bits of physical devices corresponding to the ACPI
devices and make those bits be set initially for devices that are
enabled to wake up by default. This is needed to restore the
previous behavior for the PCI devices that were previously handled
correctly with the help of the /proc/acpi/wakeup interface.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/acpi/glue.c | 5 ++++-
drivers/acpi/sleep/proc.c | 10 ++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
Index: linux-2.6/drivers/acpi/sleep/proc.c
===================================================================
--- linux-2.6.orig/drivers/acpi/sleep/proc.c
+++ linux-2.6/drivers/acpi/sleep/proc.c
@@ -377,6 +377,14 @@ acpi_system_wakeup_device_seq_show(struc
return 0;
}
+static void physical_device_enable_wakeup(struct acpi_device *adev)
+{
+ struct device *dev = acpi_get_physical_device(adev->handle);
+
+ if (dev && device_can_wakeup(dev))
+ device_set_wakeup_enable(dev, adev->wakeup.state.enabled);
+}
+
static ssize_t
acpi_system_write_wakeup_device(struct file *file,
const char __user * buffer,
@@ -411,6 +419,7 @@ acpi_system_write_wakeup_device(struct f
}
}
if (found_dev) {
+ physical_device_enable_wakeup(found_dev);
list_for_each_safe(node, next, &acpi_wakeup_device_list) {
struct acpi_device *dev = container_of(node,
struct
@@ -428,6 +437,7 @@ acpi_system_write_wakeup_device(struct f
dev->pnp.bus_id, found_dev->pnp.bus_id);
dev->wakeup.state.enabled =
found_dev->wakeup.state.enabled;
+ physical_device_enable_wakeup(dev);
}
}
}
Index: ...On Fri, Sep 26, 2008 at 00:35:08 +0200, Rafael J. Wysocki wrote: Yes, with this patch wakeup using the keyboard works as it did with 2.6.26. Thanks and regards, Tino --
Thanks for testing. Can you also check if this patch is sufficient to fix the sky2 issue, or if you need the patch I sent in the sky2 thread in addition to it? Thanks, Rafael --
With this patch only, WOL is still broken. The machine doesn't wake up and the power/wakeup entry for the sky2 device stays at "disabled" after I enable WOL. With the WOL patch, power/wakeup changed to "enabled" after "ethtool -s eth0 wol g". Regards, Tino --
OK, thanks for testing. I'm going to submit the sky2 patch for merging too. Thanks, Rafael --
| Greg KH | Og dreams of kernels |
| Jens Axboe | [PATCH 31/33] Fusion: sg chaining support |
| Arnd Bergmann | Re: finding your own dead "CONFIG_" variables |
| Mark Brown | [PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset |
| Tony Breeds | [LGUEST] Look in object dir for .config |
git: | |
| Brian Downing | Re: Git in a Nutshell guide |
| John Benes | Re: master has some toys |
| Matthias Lederhofer | [PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree |
| Alexander Sulfrian | [RFC/PATCH] RE: git calls SSH_ASKPASS even if DISPLAY is not set |
| Junio C Hamano | Re: Rss produced by git is not valid xml? |
| Linux Kernel Mailing List |
