Hi Bjorn, On Wed, 2022-06-08 at 16:20 -0500, Bjorn Helgaas wrote: > On Wed, Jun 01, 2022 at 08:12:58AM +0400, Miaoqian Lin wrote: > > of_get_child_by_name() returns a node pointer with refcount > > incremented, we should use of_node_put() on it when not need > > anymore. > > Add missing of_node_put() to avoid refcount leak. > > > > Fixes: 814cceebba9b ("PCI: mediatek-gen3: Add INTx support") > > Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx> > > Can we get an ack from Ryder or Jianjun, as well, since they're > listed > as maintainers? Sure, thanks for the reminder. Acked-by: Jianjun Wang <jianjun.wang@xxxxxxxxxxxx> > > > --- > > changes in v2: > > - move of_node_put(intc_node) right after irq_domain_add_linear to > > cover > > normal path and error paths. > > --- > > changes in v3: > > - call of_node_put() in error paths with goto, and call > > of_node_put() before > > return 0 in normal path. Since this function has a goto part to > > handle > > resources, so put them together, as suggested by Miles Chen < > > miles.chen@xxxxxxxxxxxx> > > > > v1 link: > > https://lore.kernel.org/all/20220526110246.53502-1-linmq006@xxxxxxxxx/ > > v2 link: > > https://lore.kernel.org/all/20220530064807.34534-1-linmq006@xxxxxxxxx/ > > --- > > drivers/pci/controller/pcie-mediatek-gen3.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c > > b/drivers/pci/controller/pcie-mediatek-gen3.c > > index 3e8d70bfabc6..bceed28446ed 100644 > > --- a/drivers/pci/controller/pcie-mediatek-gen3.c > > +++ b/drivers/pci/controller/pcie-mediatek-gen3.c > > @@ -600,7 +600,8 @@ static int mtk_pcie_init_irq_domains(struct > > mtk_gen3_pcie *pcie) > > &intx_domain_ops, > > pcie); > > if (!pcie->intx_domain) { > > dev_err(dev, "failed to create INTx IRQ domain\n"); > > - return -ENODEV; > > + ret = -ENODEV; > > + goto out_put_node; > > } > > > > /* Setup MSI */ > > @@ -623,13 +624,15 @@ static int mtk_pcie_init_irq_domains(struct > > mtk_gen3_pcie *pcie) > > goto err_msi_domain; > > } > > > > + of_node_put(intc_node); > > return 0; > > > > err_msi_domain: > > irq_domain_remove(pcie->msi_bottom_domain); > > err_msi_bottom_domain: > > irq_domain_remove(pcie->intx_domain); > > - > > +out_put_node: > > + of_node_put(intc_node); > > return ret; > > } > > > > -- > > 2.25.1 > > > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel