Messages in this thread | | | From | Sumit Garg <> | Date | Wed, 13 May 2020 13:53:59 +0530 | Subject | Re: [PATCH] optee: don't fail on unsuccessful device enumeration |
| |
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 > >
| |