> >On Fri, Aug 12, 2016 at 09:34:41AM +0800, Peter Chen wrote: >> of_node_put needs to be called when the device node which is got from >> of_parse_phandle has finished using. >> >> Cc: Minghuan Lian <minghuan.Lian@xxxxxxxxxxxxx> >> Cc: Mingkai Hu <mingkai.hu@xxxxxxxxxxxxx> >> Cc: Roy Zang <tie-fei.zang@xxxxxxxxxxxxx> >> Signed-off-by: Peter Chen <peter.chen@xxxxxxx> >> --- >> drivers/pci/host/pci-layerscape.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pci/host/pci-layerscape.c >> b/drivers/pci/host/pci-layerscape.c >> index 114ba81..573b996 100644 >> --- a/drivers/pci/host/pci-layerscape.c >> +++ b/drivers/pci/host/pci-layerscape.c >> @@ -173,6 +173,8 @@ static int ls_pcie_msi_host_init(struct pcie_port *pp, >> return -EINVAL; >> } >> >> + of_node_put(msi_node); >> + > >Can you please look for and fix similar errors in other drivers in drivers/pci/host/*? > >For example: > > advk_pcie_probe() and iproc_pcie_msi_enable() call > of_parse_phandle() but don't call of_node_put() in failure paths. > > dra7xx_pcie_init_irq_domain(), nwl_pcie_init_irq_domain(), and > xilinx_pcie_init_irq_domain() call of_get_next_child() but don't > call of_node_put() in failure paths. > > ks_pcie_get_irq_controller_info() calls of_find_node_by_name(). > Would you agree that I fix the issues for drivers that call of_parse_phandle or of_get_next_child or of_find_node_by_name? I can grep the symbols, and check if of_node_put is called properly. I will group all fixed within one patch set. >I think there may be others, e.g., the pci_host_bridge_msi_domain() path calls >of_parse_phandle(), but I'm not sure of_node_put() is called on failure paths. > I find pci_host_bridge_msi_domain does not call of_parse_phandle directly, only of_msi_get_domain calls of_parse_phandle, and of_node_put is called properly. Peter >When we find bugs like this, it's nice to fix one occurrence, but it's really great if we >can squash similar bugs nearby so the bug isn't copied into new drivers. > >> return 0; >> } >> >> -- >> 1.9.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-pci" >> in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo >> info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html