Kernel Bug Tracker – Bug 8813
acpi does not rescan button event on resume, leading to userspace confusion
Last modified: 2007-08-25 21:11:07 UTC
Most recent kernel where this bug did not occur: N/A
Distribution: Fedora core 7 with vanilla kernel
Hardware Environment: ThinkPad X60, tested with 7 various other machines
Software Environment: Stock F7 with vanilla kernel
On resume we need to refresh the lid status as we will not get an event if
the lid opening was what triggered the suspend.
This manifests itself in users never getting a "lid open" event when a
suspend happens because of lid close on hardware that supports wake on
lid open. This makes userspace gets very confused indeed.
Patch attached forces a check of the lid status in the resume handler.
Steps to reproduce:
1. install linux
2. start evtest or gnome-power-manager
3. shut lid [machine suspends]
4. open lid [machine resumes]
5. observe no lid open event, userspace still thinks the lid is down
6. shut lid [machine ignores "duplicate event" and does not suspend
7. open lid [machine gets lid up event]
8. shut lid [machine suspends]
Created attachment 12154 [details]
patch to fix the issue
fixes the problem by rescanning the lid on resume.
applied to acpi-test
BTW. what in user-space is monitoring the lid state?
Cheers. HAL, and indirectly, gnome-power-manager.
Created attachment 12539 [details]
patch in 2.6.23-rc3-git9
This patch shipped in 2.6.23-rc3-git9.
Please re-open this bug if there is still an issue after that release.