]> 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)
commit9dec61cc6d06e0e579bf8fa71f4fda96721e931c
tree2bef28475bf760c4b94779cf25ccc5ceda9dbafb
parentfd90b4b3933d64a9b5561449fa35eaf1ae218ec6
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