Bug 11917

Summary: hotkeys stop working after prolonged usage - Asus Eee PC
Product: ACPI Reporter: Alan Jenkins (alan-jenkins)
Component: ECAssignee: Alexey Starikovskiy (astarikovskiy)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.28-rc2 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 11808    
Attachments: Acpidump output
clean tmp before reuse
try the patch in which the EC global lock is initialized based on the return value of _GLK object

Description Alan Jenkins 2008-10-31 03:21:26 UTC
Latest working kernel version:
ACPI testing, EC fast interrupt patch on top of 2.6.27.
E.g. acpi/test tree commit v2.6.27-87-g0fbb372.
Without this fix, there's a bug where the hotkeys will stop working much sooner.

Therefore this is not a regression from 2.6.27 - instead, it extends the EeePC hotkey regression which was already present in 2.6.27.

Earliest failing kernel version: 2.6.28-rc2

(rc1 doesn't boot due to ata_piix breakage).

Distribution: Ubuntu 8.04
Hardware Environment: Asus Eee PC 701.
Problem Description:

EC dies, hotkeys stop working, ACPI power button stops working, other strange things happen e.g. suspend/resume seems to hang, battery information probably stops being updated.

Steps to reproduce:

1. Boot on battery, no AC power.  (The battery may or may not matter, but I've been playing it safe).
2. Wait for X login screen
3. Hold down "brightness up" key until full brightness is reached.
4. Hold down "brightness down" key until minimum brightness is reached.
5. Repeat steps 3&4.  25 repititions (yes, twenty five) are required to reproduce reliably.

I think I stumbled upon this using a different and more complicated sequence; this one may be tedious but it seems fairly reliable and it's nice and simple
Comment 1 Alan Jenkins 2008-10-31 03:47:47 UTC
Created attachment 18557 [details]
Acpidump output
Comment 2 Alexey Starikovskiy 2008-10-31 08:56:49 UTC
*** Bug 11896 has been marked as a duplicate of this bug. ***
Comment 3 Alexey Starikovskiy 2008-10-31 08:58:17 UTC
Created attachment 18558 [details]
clean tmp before reuse

This patch is reported to fix the issue.
Thanks Alan for bisecting 3700+ patches :)
Comment 4 Rafael J. Wysocki 2008-10-31 14:27:38 UTC
Handled-By : Alexey Starikovskiy <astarikovskiy@suse.de>
Patch : http://bugzilla.kernel.org/attachment.cgi?id=18558&action=view
Comment 5 ykzhao 2008-11-02 19:00:39 UTC
Created attachment 18602 [details]
try the patch in which the EC global lock is initialized based on the return value of _GLK object

Hi, Alan
   Will you please try the attached patch and see whether the problem can be sovled by this patch?
   In this patch the EC global lock is initailzed based on the return value of _GLK object.
   thanks.
Comment 6 Alan Jenkins 2008-11-03 00:50:16 UTC
Why?  It doesn't seem to do anything different to Alex's patch.
Comment 7 Len Brown 2008-11-03 11:29:59 UTC
patch in comment #3 applied to ACPI tree
Comment 8 ykzhao 2008-11-03 16:55:17 UTC
Hi, Alan
    There is no difference between the patch in comment #3 and my patch. 
    But IMO when the ACPICA interface function is evaluated, it will be better to base on the return status.  If the return status is what we expected, the return value of ACPI object will be used. Otherwise it should be ignored.
    Thanks.
Comment 9 Santi 2008-11-07 04:48:03 UTC
Hi,

  just add that this patch also fixes (at least in my case/tests with a EeePC 701) the case where the hotkeys stop working after a suspend/resume cycle.

Santi
Comment 10 Rafael J. Wysocki 2008-11-08 14:47:56 UTC
Handled-By : From: Alexey Starikovskiy <astarikovskiy@suse.de>
Patch : http://marc.info/?l=linux-acpi&m=122603281422097&w=4
Comment 11 Rafael J. Wysocki 2008-11-09 11:04:11 UTC
Not-Handled-By : From: Alexey Starikovskiy <astarikovskiy@suse.de>

Ignore-Patch : http://bugzilla.kernel.org/attachment.cgi?id=18558&action=view
Comment 12 Len Brown 2008-11-11 22:56:31 UTC
unclear what comment #11 is about, but to re-iterate comment #7,
this patch is in the acpi tree:

commit d21cf3c16b1191f3154a51e0b20c82bf851cc553
Author: Alexey Starikovskiy <astarikovskiy@suse.de>
Date:   Mon Nov 3 14:26:40 2008 -0500

    ACPI EC: Fix regression due to use of uninitialized variable
Comment 13 Len Brown 2008-11-12 21:26:36 UTC
shipped in 2.6.28-rc4-git3

closed.