From 5fb6ff9111d9e0c141116838635ba97f43891de7 Mon Sep 17 00:00:00 2001 From: Hyung Taek Ryoo Date: Thu, 25 Jul 2013 10:09:01 -0700 Subject: security: tf_driver: update with latest TL drop This change fixes abnormal signal handling in tf driver. Tf_daemon(user thread) is waiting for the signal when coming out of LP0, but tf_daemon never gets the signal because tf driver can't handle the signal properly. If there's a pending signal when coming out of LP0, this fix clears the pending signal. Bug 1244750 Bug 1309812 Bug 1340142 Change-Id: I7849866c7993af8716c17f6b7a06692271334664 Signed-off-by: Hyung Taek Ryoo Reviewed-on: http://git-master/r/253548 (cherry picked from commit a884db0b832b9f63680464cc62a1a8635a3019fe) Reviewed-on: http://git-master/r/256162 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Harry Hong Reviewed-by: Yong Goo Yi GVS: Gerrit_Virtual_Submit Reviewed-by: Gabby Lee --- security/tf_driver/tf_comm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'security') diff --git a/security/tf_driver/tf_comm.c b/security/tf_driver/tf_comm.c index c1f4f654632c..d2e7e1360443 100644 --- a/security/tf_driver/tf_comm.c +++ b/security/tf_driver/tf_comm.c @@ -1244,8 +1244,10 @@ copy_answers: wake_up(&(comm->wait_queue)); #ifdef CONFIG_FREEZER - if (try_to_freeze()) + if (try_to_freeze()) { + recalc_sigpending(); goto copy_answers; + } #endif #ifndef CONFIG_PREEMPT -- cgit v1.2.3