| From 31b29e191d2431e5005411a6a2db0650fdb5415e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 1 Apr 2025 10:17:08 +0100 |
| Subject: PCI: apple: Fix missing OF node reference in apple_pcie_setup_port |
| |
| From: Hector Martin <marcan@marcan.st> |
| |
| [ Upstream commit 7fa9fbf39116b061f8a41cd84f1884c545f322c4 ] |
| |
| In the success path, we hang onto a reference to the node, so make sure |
| to grab one. The caller iterator puts our borrowed reference when we |
| return. |
| |
| Signed-off-by: Hector Martin <marcan@marcan.st> |
| Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> |
| Signed-off-by: Marc Zyngier <maz@kernel.org> |
| Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> |
| Tested-by: Janne Grunau <j@jannau.net> |
| Reviewed-by: Rob Herring (Arm) <robh@kernel.org> |
| Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> |
| Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> |
| Link: https://patch.msgid.link/20250401091713.2765724-9-maz@kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pci/controller/pcie-apple.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c |
| index 487d01f6b4f56..fbe59139ab8fb 100644 |
| --- a/drivers/pci/controller/pcie-apple.c |
| +++ b/drivers/pci/controller/pcie-apple.c |
| @@ -585,6 +585,9 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie, |
| list_add_tail(&port->entry, &pcie->ports); |
| init_completion(&pcie->event); |
| |
| + /* In the success path, we keep a reference to np around */ |
| + of_node_get(np); |
| + |
| ret = apple_pcie_port_register_irqs(port); |
| WARN_ON(ret); |
| |
| -- |
| 2.39.5 |
| |