drivers/pci/controller/dwc/pci-imx6.c | 1 + 1 file changed, 1 insertion(+)
In imx_pcie_probe, np is obtained by of_parse_phandle() and must
be released with of_node_put() when it is no longer needed.
Add the missing of_node_put() after of_address_to_resource() to fix the
leak.
Fixes: 1df82ec46600 ("PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
---
drivers/pci/controller/dwc/pci-imx6.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 1d8677d7de04..3ae02712d3f0 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1675,6 +1675,7 @@ static int imx_pcie_probe(struct platform_device *pdev)
struct resource res;
ret = of_address_to_resource(np, 0, &res);
+ of_node_put(np);
if (ret) {
dev_err(dev, "Unable to map PCIe PHY\n");
return ret;
---
base-commit: a0c666c25aeefd16f4b088c6549a6fb6b65a8a1d
change-id: 20260124-pci_imx6-f97d70887dfc
Best regards,
--
Felix Gu <ustc.gu@gmail.com>
On Sat, Jan 24, 2026 at 02:18:49AM +0800, Felix Gu wrote:
> In imx_pcie_probe, np is obtained by of_parse_phandle() and must
> be released with of_node_put() when it is no longer needed.
> Add the missing of_node_put() after of_address_to_resource() to fix the
> leak.
>
> Fixes: 1df82ec46600 ("PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure")
> Signed-off-by: Felix Gu <ustc.gu@gmail.com>
> ---
> drivers/pci/controller/dwc/pci-imx6.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 1d8677d7de04..3ae02712d3f0 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -1675,6 +1675,7 @@ static int imx_pcie_probe(struct platform_device *pdev)
> struct resource res;
>
Please use auto cleanup
struct device_node *np __free(device_node) =
of_parse_phandle(node, "fsl,imx7d-pcie-phy", 0);
Frank
> ret = of_address_to_resource(np, 0, &res);
> + of_node_put(np);
> if (ret) {
> dev_err(dev, "Unable to map PCIe PHY\n");
> return ret;
>
> ---
> base-commit: a0c666c25aeefd16f4b088c6549a6fb6b65a8a1d
> change-id: 20260124-pci_imx6-f97d70887dfc
>
> Best regards,
> --
> Felix Gu <ustc.gu@gmail.com>
>
On Sat, Jan 24, 2026 at 3:32 AM Frank Li <Frank.li@nxp.com> wrote:
>
> On Sat, Jan 24, 2026 at 02:18:49AM +0800, Felix Gu wrote:
> > In imx_pcie_probe, np is obtained by of_parse_phandle() and must
> > be released with of_node_put() when it is no longer needed.
> > Add the missing of_node_put() after of_address_to_resource() to fix the
> > leak.
> >
> > Fixes: 1df82ec46600 ("PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure")
> > Signed-off-by: Felix Gu <ustc.gu@gmail.com>
> > ---
> > drivers/pci/controller/dwc/pci-imx6.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> > index 1d8677d7de04..3ae02712d3f0 100644
> > --- a/drivers/pci/controller/dwc/pci-imx6.c
> > +++ b/drivers/pci/controller/dwc/pci-imx6.c
> > @@ -1675,6 +1675,7 @@ static int imx_pcie_probe(struct platform_device *pdev)
> > struct resource res;
> >
>
> Please use auto cleanup
>
> struct device_node *np __free(device_node) =
> of_parse_phandle(node, "fsl,imx7d-pcie-phy", 0);
>
> Frank
Hi Frank,
Thanks for the review, I will fix it in V2.
Best regards,
Felix Gu
>
> > ret = of_address_to_resource(np, 0, &res);
> > + of_node_put(np);
> > if (ret) {
> > dev_err(dev, "Unable to map PCIe PHY\n");
> > return ret;
> >
> > ---
> > base-commit: a0c666c25aeefd16f4b088c6549a6fb6b65a8a1d
> > change-id: 20260124-pci_imx6-f97d70887dfc
> >
> > Best regards,
> > --
> > Felix Gu <ustc.gu@gmail.com>
> >
© 2016 - 2026 Red Hat, Inc.