summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Lawall <julia.lawall@lip6.fr>2015-10-25 14:57:06 +0100
committerDavid S. Miller <davem@davemloft.net>2015-10-26 22:08:12 -0700
commit81a577034b000964ca791281a975f0ba9a9d7eed (patch)
tree6b9cd46df844a495955d7ed46ab9521f9eb3e1a6
parent028623418766ea64f4256035b06ac6cbc0a67892 (diff)
downloadlinux-81a577034b000964ca791281a975f0ba9a9d7eed.tar.gz
linux-81a577034b000964ca791281a975f0ba9a9d7eed.tar.bz2
linux-81a577034b000964ca791281a975f0ba9a9d7eed.zip
ath6kl: add missing of_node_put
for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e; local idexpression n; @@ for_each_compatible_node(n,...) { ... when != of_node_put(n) when != e = n ( return n; | + of_node_put(n); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 6e473fa4b13c..12241b1c57cd 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -715,6 +715,7 @@ static bool check_device_tree(struct ath6kl *ar)
board_filename, ret);
continue;
}
+ of_node_put(node);
return true;
}
return false;