aa3312012f
The device node iterators perform an of_node_get on each iteration, so a jump out of the loop requires an of_node_put. Move the initialization channel->child = child; down to just before the call to imx_ldb_register so that intervening failures don't need to clear it. Add a label at the end of the function to do all the of_node_puts. The semantic patch that finds part of this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | * return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
dw_hdmi-imx.c | ||
imx-drm-core.c | ||
imx-drm.h | ||
imx-ldb.c | ||
imx-tve.c | ||
ipuv3-crtc.c | ||
ipuv3-plane.c | ||
ipuv3-plane.h | ||
parallel-display.c |