[PATCH] drivers: tee: sandbox: Fix SCP03 control emulator

Fix and document the Secure Channel Protocol03 emulator.
Fixes: 5a8783c80c39 ("drivers: tee: sandbox: SCP03 control emulator")
Signed-off-by: Jorge Ramirez-Ortiz jorge@foundries.io --- drivers/tee/sandbox.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/tee/sandbox.c b/drivers/tee/sandbox.c index 35e8542fa3..8e32b69f5b 100644 --- a/drivers/tee/sandbox.c +++ b/drivers/tee/sandbox.c @@ -119,6 +119,7 @@ static u32 pta_scp03_invoke_func(struct udevice *dev, u32 func, uint num_params, { u32 res; static bool enabled; + static bool provision;
switch (func) { case PTA_CMD_ENABLE_SCP03: @@ -130,12 +131,18 @@ static u32 pta_scp03_invoke_func(struct udevice *dev, u32 func, uint num_params, if (res) return res;
- if (!enabled) { + /* If SCP03 was not enabled, enable it */ + if (!enabled) enabled = true; - } else { - }
+ /* If SCP03 was not provisioned, provision new keys */ if (params[0].u.value.a) + provision = true; + + /* + * Either way, we asume both operations succeeded and that + * the communication channel has now been stablished + */
return TEE_SUCCESS; default:
participants (1)
-
Jorge Ramirez-Ortiz