diff options
| author | Julia Lawall <Julia.Lawall@lip6.fr> | 2019-02-23 08:20:42 -0500 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2019-03-22 18:30:32 -0400 |
| commit | 30645307e5d2c8a4caf978558c66121ac91ad17e (patch) | |
| tree | 58366639eb365f598689dac17fff526dba3c301b | |
| parent | 3e2cf62efec52fb49daed437cc486c3cb9a0afa2 (diff) | |
ARM: OMAP2+: 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: e0c827aca0730 ("drm/omap: Populate DSS children in omapdss driver")
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Tony Lindgren <tony@atomide.com>
| -rw-r--r-- | arch/arm/mach-omap2/display.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index 1444b4b4bd9f..439e143cad7b 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c | |||
| @@ -250,8 +250,10 @@ static int __init omapdss_init_of(void) | |||
| 250 | if (!node) | 250 | if (!node) |
| 251 | return 0; | 251 | return 0; |
| 252 | 252 | ||
| 253 | if (!of_device_is_available(node)) | 253 | if (!of_device_is_available(node)) { |
| 254 | of_node_put(node); | ||
| 254 | return 0; | 255 | return 0; |
| 256 | } | ||
| 255 | 257 | ||
| 256 | pdev = of_find_device_by_node(node); | 258 | pdev = of_find_device_by_node(node); |
| 257 | 259 | ||
