Hi Volodymyr,
On Wed, 13 May 2020 at 13:30, Jens Wiklander jens.wiklander@linaro.org wrote:
Hi Volodymyr,
On Wed, May 13, 2020 at 2:36 AM Volodymyr Babchuk vlad.babchuk@gmail.com wrote:
optee_enumerate_devices() can fail for multiple of reasons. For example, I encountered issue when Xen OP-TEE mediator NACKed PTA_CMD_GET_DEVICES call.
Could you share a detailed description of the issue which you are facing? optee_enumerate_devices() is a simple invocation of pseudo TA and cases where OP-TEE doesn't provide corresponding pseudo TA are handled very well.
This should not result in driver initialization error because this is an optional feature.
I wouldn't call it an optional feature as there might be real kernel drivers dependent on this enumeration. Also, it is a simple example to self test OP-TEE functionality too. So I am not sure how much functional OP-TEE would be if this basic TA invocation fails.
-Sumit
Thus, it is better to print warning, instead of termination driver initialization.
Signed-off-by: Volodymyr Babchuk vlad.babchuk@gmail.com
Looks good. Didn't apply directly at latest, but the conflict was easy enough to resolve.
I'll pick up this in a day unless someone objects.
I'll add a Fixes: c3fa24af9244 ("tee: optee: add TEE bus device enumeration support") Line.
Thanks, Jens
resend: fixed email in s-o-b tag. Sorry for the noise
drivers/tee/optee/core.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index 34409c916882..a053930032f2 100644 --- a/drivers/tee/optee/core.c +++ b/drivers/tee/optee/core.c @@ -728,10 +728,8 @@ static int __init optee_driver_init(void) return PTR_ERR(optee);
rc = optee_enumerate_devices();
if (rc) {
optee_remove(optee);
return rc;
}
if (rc)
pr_warn("can't enumerate optee devices: %d\n", rc); pr_info("initialized driver\n");
-- 2.26.2