tee: optee: interruptible RPC sleep
authortiger-yu99 <tigeryu99@hotmail.com>
Fri, 5 May 2017 16:20:32 +0000 (00:20 +0800)
committerJens Wiklander <jens.wiklander@linaro.org>
Fri, 4 Aug 2017 08:30:27 +0000 (10:30 +0200)
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>
drivers/tee/optee/rpc.c

index 8814eca..9488ed1 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;