diff options
author | Jun Yan <juyan@nvidia.com> | 2013-07-24 16:57:30 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2013-07-24 17:10:13 -0700 |
commit | 8067f19868040be42e53bb05778138502c899632 (patch) | |
tree | fc1e8016c215ee99e59b81a057170cdc427bbe43 | |
parent | 25efc183d9f57431c379fecce0e2cc541b0fbc93 (diff) |
Revert "security: tf_driver: update with latest TL drop"
This reverts commit ac475a8eef3acc44297d4853fde82b87c31dda2b.
Change-Id: I07d9672f3eadbdeebd85829480597661ce5259f5
Signed-off-by: Jun Yan <juyan@nvidia.com>
Reviewed-on: http://git-master/r/253114
Reviewed-by: Anshul Jain (SW) <anshulj@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
-rw-r--r-- | security/tf_driver/tf_comm.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/security/tf_driver/tf_comm.c b/security/tf_driver/tf_comm.c index c1f4f654632c..01538249264f 100644 --- a/security/tf_driver/tf_comm.c +++ b/security/tf_driver/tf_comm.c @@ -1226,10 +1226,17 @@ static int tf_send_recv(struct tf_comm *comm, bool wait_prepared = false; enum TF_COMMAND_STATE command_status = TF_COMMAND_STATE_PENDING; DEFINE_WAIT(wait); - +#ifdef CONFIG_FREEZER + unsigned long saved_flags; +#endif dprintk(KERN_INFO "[pid=%d] tf_send_recv(%p)\n", current->pid, command); +#ifdef CONFIG_FREEZER + saved_flags = current->flags; + current->flags |= PF_KTHREAD; +#endif + /* * Read all answers from the answer queue */ @@ -1244,8 +1251,15 @@ copy_answers: wake_up(&(comm->wait_queue)); #ifdef CONFIG_FREEZER - if (try_to_freeze()) + if (unlikely(freezing(current))) { + + dprintk(KERN_INFO + "Entering refrigerator.\n"); + try_to_freeze(); + dprintk(KERN_INFO + "Left refrigerator.\n"); goto copy_answers; + } #endif #ifndef CONFIG_PREEMPT @@ -1391,6 +1405,11 @@ exit: wait_prepared = false; } +#ifdef CONFIG_FREEZER + current->flags &= ~(PF_KTHREAD); + current->flags |= (saved_flags & PF_KTHREAD); +#endif + return result; } |