New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 728438 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Candy: edge-triggered interrupts are not replayed when enabling

Project Member Reported by dtor@chromium.org, Jun 1 2017

Issue description

It appears that with migration to 4.4 on some devices we do not replay edge-triggered interrupts when doing enable_irq(), which causes issues with Elan drivers.

See http://b/37617526 and http://crbug.com/699575 for more context.
 

Comment 1 by dtor@chromium.org, Jun 1 2017

Labels: Kernel-4.4

Comment 2 by dtor@chromium.org, Jun 1 2017

Components: OS>Kernel Internals>Input>Touch>Screen

Comment 3 by dtor@chromium.org, Jun 15 2017

The re-triggering of edge interrupt was broken in v4.2-rc1 and was fixed by the following patch that was pulled in with 4.4.70 stable:

commit 172407103aa472d036136611ebf05c220710bd28
Author: Ruslan Ruslichenko <rruslich@cisco.com>
Date:   Tue Jan 17 16:13:52 2017 +0200

    x86/ioapic: Restore IO-APIC irq_chip retrigger callback
    
    commit a9b4f08770b415f30f2fb0f8329a370c8f554aa3 upstream.
    
    commit d32932d02e18 removed the irq_retrigger callback from the IO-APIC
    chip and did not add it to the new IO-APIC-IR irq chip.
    
    There is no harm because the interrupts are resent in software when the
    retrigger callback is NULL, but it's less efficient. So restore them.
    
    [ tglx: Massaged changelog ]
    
    Fixes: d32932d02e18  ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
    Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
    Cc: xe-linux-external@cisco.com
    Link: http://lkml.kernel.org/r/1484662432-13580-1-git-send-email-rruslich@cisco.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

The CL to revert no longer needed hack in Elan touchscreen driver is here: https://chromium-review.googlesource.com/537912
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 17 2017

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/62509be7acd2705f0bf96bc3a3fc7bb258da153a

commit 62509be7acd2705f0bf96bc3a3fc7bb258da153a
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Sat Jun 17 00:24:29 2017

Revert "HACK: Input: elants_i2c - clear interrupt at resume"

This reverts commit f495ada03ddc7b546850cd0d0f9b29baf364c02e as it is no
longer needed, since we've pulled in 4.4.70 stable release containing
commit 172407103aa472d036136611ebf05c220710bd28 ("x86/ioapic: Restore
IO-APIC irq_chip retrigger callback").

BUG= chromium:728438 
TEST=Boot Candy, verify touchscreen works after suspend.

Change-Id: I1ac88748b24cc032c7791c5c6bacfe265de1a9a0
Reviewed-on: https://chromium-review.googlesource.com/537912
Commit-Ready: Dmitry Torokhov <dtor@chromium.org>
Tested-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/62509be7acd2705f0bf96bc3a3fc7bb258da153a/drivers/input/touchscreen/elants_i2c.c

Comment 5 by dtor@chromium.org, Jul 10 2017

Status: Fixed (was: Untriaged)
Status: Verified (was: Fixed)

Sign in to add a comment