diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2019-02-23 08:20:36 -0500 |
---|---|---|
committer | Jens Wiklander <jens.wiklander@linaro.org> | 2019-02-28 04:23:04 -0500 |
commit | c7c0d8df0b94a67377555a550b8d66ee2ad2f4ed (patch) | |
tree | 99d2bdc354865d42494973fbd1eaff2e089566f4 | |
parent | 49a57857aeea06ca831043acbb0fa5e0f50602fd (diff) |
tee: optee: add missing of_node_put after of_device_is_available
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@lip6.fr>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
-rw-r--r-- | drivers/tee/optee/core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index e5efce3c08e2..947f9b28de9e 100644 --- a/drivers/tee/optee/core.c +++ b/drivers/tee/optee/core.c | |||
@@ -699,8 +699,10 @@ static int __init optee_driver_init(void) | |||
699 | return -ENODEV; | 699 | return -ENODEV; |
700 | 700 | ||
701 | np = of_find_matching_node(fw_np, optee_match); | 701 | np = of_find_matching_node(fw_np, optee_match); |
702 | if (!np || !of_device_is_available(np)) | 702 | if (!np || !of_device_is_available(np)) { |
703 | of_node_put(np); | ||
703 | return -ENODEV; | 704 | return -ENODEV; |
705 | } | ||
704 | 706 | ||
705 | optee = optee_probe(np); | 707 | optee = optee_probe(np); |
706 | of_node_put(np); | 708 | of_node_put(np); |