Hi Julia, On Sat, Feb 23, 2019 at 2:58 PM Julia Lawall <Julia.Lawall@xxxxxxx> wrote: > > Add an of_node_put when a tested device node is not available. > > The semantic patch that fixes this problem is as follows > (http://coccinelle.lip6.fr): > > // <smpl> > @@ > identifier f; > local idexpression e; > expression x; > @@ > > e = f(...); > ... when != of_node_put(e) > when != x = e > when != e = x > when any > if (<+...of_device_is_available(e)...+>) { > ... when != of_node_put(e) > ( > return e; > | > + of_node_put(e); > return ...; > ) > } > // </smpl> > > Fixes: db878f76b9ff ("tee: optee: take DT status property into account") > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> > > --- > drivers/tee/optee/core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff -u -p a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c > --- a/drivers/tee/optee/core.c > +++ b/drivers/tee/optee/core.c > @@ -703,8 +703,10 @@ static int __init optee_driver_init(void > return -ENODEV; > > np = of_find_matching_node(fw_np, optee_match); > - if (!np || !of_device_is_available(np)) > + if (!np || !of_device_is_available(np)) { > + of_node_put(np); > return -ENODEV; > + } > > optee = optee_probe(np); > of_node_put(np); > Applied. Thanks, Jens