firmware: arm_scmi: optee: use optee system invocation
Changes SCMI optee transport to call tee_client_system_session() to request optee driver to provision an entry context in OP-TEE for processing OP-TEE messages. This prevents possible deadlock in case OP-TEE threads are all consumed while these may be waiting for a clock or regulator to be enable which SCMI OP-TEE service which requires a free thread context to execute. Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Cristian Marussi <cristian.marussi@arm.com> Acked-by: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
This commit is contained in:
parent
45bc2c9b5b
commit
4b391c9c37
@ -440,6 +440,10 @@ static int scmi_optee_chan_setup(struct scmi_chan_info *cinfo, struct device *de
|
||||
if (ret)
|
||||
goto err_free_shm;
|
||||
|
||||
ret = tee_client_system_session(scmi_optee_private->tee_ctx, channel->tee_session);
|
||||
if (ret)
|
||||
dev_warn(dev, "Could not switch to system session, do best effort\n");
|
||||
|
||||
ret = get_channel(channel);
|
||||
if (ret)
|
||||
goto err_close_sess;
|
||||
|
Loading…
x
Reference in New Issue
Block a user