• H
    Input: zforce - fix possible driver hang during suspend · 499e6127
    Heiko Stübner 提交于
    handle_level_irq masks the interrupt before handling it, and only
    unmasks it after the handler is finished. So when a touch event
    happens after threads are suspended, but before the system is fully asleep
    the irq handler tries to wakeup the thread which will only happen on the
    next resume, resulting in the wakeup event never being sent and the driver
    not being able to wake the system from sleep due to the masked irq.
    
    Therefore move the wakeup_event to a small non-threaded handler.
    Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
    Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
    499e6127
zforce_ts.c 20.6 KB