security: tf_driver: update with latest TL drop
Hyung Taek Ryoo [Thu, 25 Jul 2013 17:09:01 +0000 (10:09 -0700)]
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

Change-Id: I7849866c7993af8716c17f6b7a06692271334664
Signed-off-by: Hyung Taek Ryoo <hryoo@nvidia.com>
Reviewed-on: http://git-master/r/253548
GVS: Gerrit_Virtual_Submit
Reviewed-by: Karthik Iyer <karthiki@nvidia.com>
Reviewed-by: Prashant Malani <pmalani@nvidia.com>
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

security/tf_driver/tf_comm.c

index c1f4f65..d2e7e13 100644 (file)
@@ -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