From: kernel test robot <lkp@xxxxxxxxx> for_each_child_of_node should have of_node_put() before return. Generated by: scripts/coccinelle/iterators/for_each_child.cocci CC: Rohit Athavale <rohit.athavale@xxxxxxxxxx> Reported-by: kernel test robot <lkp@xxxxxxxxx> Signed-off-by: kernel test robot <lkp@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxxx> --- tree: https://github.com/Xilinx/linux-xlnx master head: 45cd0074cdf1ddd710b28848e6a860b442babfcc commit: 7d47a653da2e81cb73f43e507664d36305819ea1 [10741/12418] v4l: xilinx-vpss-csc: driver support for xilinx vpss csc :::::: branch date: 5 days ago :::::: commit date: 5 months ago Please take the patch only if it's a positive warning. Thanks! xilinx-vpss-csc.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/media/platform/xilinx/xilinx-vpss-csc.c +++ b/drivers/media/platform/xilinx/xilinx-vpss-csc.c @@ -749,17 +749,20 @@ static int xcsc_parse_of(struct xcsc_dev vip_format = xvip_of_get_format(port); if (IS_ERR(vip_format)) { dev_err(dev, "Invalid media pad format in DT"); + of_node_put(port); return PTR_ERR(vip_format); } rval = of_property_read_u32(port, "reg", &port_id); if (rval < 0) { dev_err(dev, "No reg in DT to specify pad"); + of_node_put(port); return rval; } if (port_id != 0 && port_id != 1) { dev_err(dev, "Invalid reg in DT"); + of_node_put(port); return -EINVAL; } xcsc->vip_formats[port_id] = vip_format;