diff options
| author | Johan Hovold <johan+linaro@kernel.org> | 2025-07-21 17:36:09 +0200 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2025-08-27 14:32:25 -0500 |
| commit | dc32e9346b26ba33e84ec3034a1e53a9733700f9 (patch) | |
| tree | c284a671cc98aa5b8d62f282ba18cdd5f9ca03f7 /drivers/pci/remove.c | |
| parent | e24bbbe0780262a21fc8619fe99078a5b8d64b18 (diff) | |
PCI/pwrctrl: Fix device leak at device stop
Make sure to drop the reference to the pwrctrl device taken by
of_find_device_by_node() when stopping a PCI device.
Fixes: 681725afb6b9 ("PCI/pwrctl: Remove pwrctl device without iterating over all children of pwrctl parent")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Cc: stable@vger.kernel.org # v6.13
Link: https://patch.msgid.link/20250721153609.8611-4-johan+linaro@kernel.org
Diffstat (limited to 'drivers/pci/remove.c')
| -rw-r--r-- | drivers/pci/remove.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index 445afdfa6498..16f21edbc29d 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c @@ -31,6 +31,8 @@ static void pci_pwrctrl_unregister(struct device *dev) return; of_device_unregister(pdev); + put_device(&pdev->dev); + of_node_clear_flag(np, OF_POPULATED); } |