tee: optee: interruptible RPC sleep
authortiger-yu99 <tigeryu99@hotmail.com>
Fri, 5 May 2017 16:20:32 +0000 (00:20 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:55:39 +0000 (15:55 -0500)
Prior to this patch RPC sleep was uninterruptible since msleep() is
uninterruptible. Change to use msleep_interruptible() instead.

Signed-off-by: Tiger Yu <tigeryu99@hotmail.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
(cherry picked from commit a9980e947ec97297e03d2332d6beff06f5131a98)

drivers/tee/optee/rpc.c

index b6c3b73..c6df431 100644 (file)
@@ -140,11 +140,8 @@ static void handle_rpc_func_cmd_wait(struct optee_msg_arg *arg)
 
        msec_to_wait = arg->params[0].u.value.a;
 
-       /* set task's state to interruptible sleep */
-       set_current_state(TASK_INTERRUPTIBLE);
-
-       /* take a nap */
-       msleep(msec_to_wait);
+       /* Go to interruptible sleep */
+       msleep_interruptible(msec_to_wait);
 
        arg->ret = TEEC_SUCCESS;
        return;