]> git.baikalelectronics.ru Git - kernel.git/commit
Input: zforce - fix possible driver hang during suspend
authorHeiko Stübner <heiko@sntech.de>
Sat, 14 Dec 2013 09:41:55 +0000 (01:41 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 15 Dec 2013 10:53:13 +0000 (02:53 -0800)
commit2647c99cce4a3d8bcdcd70dd07b60adf62bfa37c
tree2bef28475bf760c4b94779cf25ccc5ceda9dbafb
parent28bf02918a1d41197248691433c8da6ee3dc2c2b
Input: zforce - fix possible driver hang during suspend

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: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/zforce_ts.c