drivers/serial/uartlite.c: Add missing of_node_put
Author: Julia Lawall <julia@diku.dk>
There should be an of_node_put when breaking out of a loop that iterates
using for_each_compatible_node.
This was detected and fixed using the following semantic patch.
(http://www.emn.fr/x-info/coccinelle/)
//
@@
identifier d;
type T;
expression e;
iterator for_each_compatible_node;
@@
T *d;
...
for_each_compatible_node(d,...)
{... when != of_node_put(d)
when != e = d
(
return d;
|
+ of_node_put(d);
? return ...;
)
...}
//
Signed-off-by: Julia Lawall
Acked-by: Grant Likely
Acked-by: Peter Korsgaard
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
---
drivers/serial/uartlite.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index a85f2d3..3f59324 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -393,6 +393,7 @@ static inline void __init ulite_console_of_find_device(int id)
continue;
ulite_ports[id].mapbase = res.start;
+ of_node_put(np);
return;
}
} |
---
drivers/serial/uartlite.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index a85f2d3..3f59324 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -393,6 +393,7 @@ static inline void __init ulite_console_of_find_device(int id)
continue;
ulite_ports[id].mapbase = res.start;
+ of_node_put(np);
return;
}
}