From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EAEEF46AF2E for ; Tue, 30 Jun 2026 19:52:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782849164; cv=none; b=hTWwwXaZx9P8PxLWoX3ImvfTiQvrGuIc6zTKYiYkEyb4fS/IIXCp+lqNJCq5xIlOb2ctpBr3KrKiA6RShe06Ck5jCBShFq4pTipfYQijtWVv4FfRZW7kjEE00qsmMi+e+tL6ADrSW5vbYafh8b7SO4eb3IlirovllHYoRvdYkyU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782849164; c=relaxed/simple; bh=eN2CSRe1cj6SX7Ets3J+ttDAxcMnHhwhYnWMLkppr0o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=K8uNrH/7ja+NEgvoDrA46gCSA8bsPr1HDHvvi67OCunnTwAm1C5zojke1/0r/PD67mHk9NUGGtXROvS0nCUr0Gt7R1KoPUHghXWzpXsWRYAytICVGxOi1lNsa9FPnZLGxD1CLowxXiISUFgdbumUDJBDYJ9oMKJZagddJbh7uAE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=b6BYahzU; arc=none smtp.client-ip=209.85.160.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="b6BYahzU" Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-51c0cea8883so10760691cf.1 for ; Tue, 30 Jun 2026 12:52:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782849162; x=1783453962; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ZCIb1sRY2uZibdnrFf+JjGAvdQfDmQTgUaE5fwgc6LY=; b=b6BYahzUL8DBuO/aAKVtWpG12HSNGllVagwLvk43NudG5tFrCruYKXyhWZR0oNGEAv +UB5qiRIDVtQfsOAFw1V/7FLKYu/9dFA9IO5b6+t5x5yjzh41oSqWb0PSJ1QupKWdZ/W Zhzcl85yhAQmBZ++0TEBKhhTWvypXr6cT9vuIPY0TiAcCvAr0vBlvlzQ7yU0wfyaBZP0 DPNhzNz6V7HOgnq02I9lmPdfmtxYb5+4Eelkbb4zWronQdof9cM4oKvD9tY5LBQrOCgr 9MLQVckmKXV0kVtU5PzsJo0+kpFpJqo/HVh0KghkK0AhmMHC72rl+f+up2sCf1WNrNK3 /gsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782849162; x=1783453962; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ZCIb1sRY2uZibdnrFf+JjGAvdQfDmQTgUaE5fwgc6LY=; b=s5sOYm0wujVOU2jnVlIt1r9RXaTRq2Uv3G2tInF/bZeXu5zJbGXUgRnRrapb+mz8Nt HEjpmGd0ycjBRILOlFlfSi8QKOEvz7dF/bLmwpuxA2Q3Eu8p0q+y8Ew6PXZ0PeUs3USg HjheLcicC+KeRT3uxkV6gnk7VGnTShK/eUEEA3BWJXKoZIyVbqJy7Ca/zkIx4Y1jG7CD Ga+vix5HhyIKXUvefY00NZbmkVDyl6IUTCucEk++EPZJNt7JOEObsT9TtcjSdk/iUWXU Ts7DkVVlWaPfV/2U2QsHExwWDq3o5+Pd81hF7eK90KJh8Iz8WWo6Lzu93dk0b55ZreJZ E5ww== X-Forwarded-Encrypted: i=1; AFNElJ/sYBlFYKk61Orjjg3NJaYPhDjUXI9aflWS+Y4Nw3YmwxbkTFFH0qieX3LBJI8INofmPIkWBX8VTHpZcME=@vger.kernel.org X-Gm-Message-State: AOJu0YxRnuOLohL6covTD3ZfET+p6LNy2ZBNXa2spZjgk7iiQMdL3En4 TbDzDqmT6tz51AlY0MRg+RFwRwCvRbT53y+N7liVHj9kdu2efmJ21wDU X-Gm-Gg: AfdE7clRN7K8/i9TQ1BPrY2MMUu7LmNkTEuXN+sCmekgoCU/miPXKuEF6R7F1EdWf11 1HEPS12X/0fwRD2ObWB0lDYnNK1oPb/UUr59SxfFJxvq3oRB2dL8yL8qZWNEBCEW3fSXciKg6d+ 46V4vWZoR2Y5c4LYfyJGDulbDK298HVQ0lJCTv42o+3ApPdAQXlCpJymsifzsQb64VYENDjPLks YRVb3ss90cC3qvhCaOFg/Ic3/+JL7HqHgldf8+yycMRrM2r7yrMZvop2F22OTNS6YIgHi/OaBzW klgQum8ZCseykxxx1Nz5elI18W0nTkvcA0fChMp2XYdbEwr2cuppdShawmS/rCPTAgr2zCrxOAY 3Wqco5oXiy9j4fwJ4/6ld9cFGxy4lpgn4SFRVSF0IBGYM4MFcWvXV7fWxXOXUZyJ/WbTuukGdUb QDYdap6jd2rShi0gqZay6eDBx8HTvCymJS+xMj+3sM X-Received: by 2002:a05:622a:1212:b0:51c:558:cbbd with SMTP id d75a77b69052e-51c180050d0mr37857701cf.41.1782849161772; Tue, 30 Jun 2026 12:52:41 -0700 (PDT) Received: from i4-gl-tmk5904.ad.psu.edu ([130.203.156.186]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8f1a69c32c0sm31330786d6.29.2026.06.30.12.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jun 2026 12:52:41 -0700 (PDT) From: Yuho Choi To: Toan Le , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Bjorn Helgaas Cc: Rob Herring , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Yuho Choi Subject: [PATCH v1] PCI: xgene: Drop unnecessary OF node reference Date: Tue, 30 Jun 2026 15:52:34 -0400 Message-ID: <20260630195234.1871951-1-dbgh9129@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit xgene_pcie_probe() stores dev->of_node in port->node with of_node_get(), but the cached node is only used during probe by xgene_pcie_parse_map_dma_ranges(). The driver never releases the extra reference, so the node reference is leaked. There is no need for private OF node ownership here. Use the device's existing of_node directly in xgene_pcie_parse_map_dma_ranges() and remove the cached port->node pointer. Fixes: 5f6b6ccdbe1c ("PCI: xgene: Add APM X-Gene PCIe driver") Signed-off-by: Yuho Choi --- drivers/pci/controller/pci-xgene.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/pci/controller/pci-xgene.c b/drivers/pci/controller/pci-xgene.c index b95afa35201d..83c9a2930eec 100644 --- a/drivers/pci/controller/pci-xgene.c +++ b/drivers/pci/controller/pci-xgene.c @@ -58,7 +58,6 @@ #define XGENE_PCIE_IP_VER_2 2 struct xgene_pcie { - struct device_node *node; struct device *dev; struct clk *clk; void __iomem *csr_base; @@ -526,7 +525,7 @@ static void xgene_pcie_setup_ib_reg(struct xgene_pcie *port, static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie *port) { - struct device_node *np = port->node; + struct device_node *np = port->dev->of_node; struct of_pci_range range; struct of_pci_range_parser parser; struct device *dev = port->dev; @@ -612,7 +611,6 @@ static bool xgene_check_pcie_msi_ready(void) static int xgene_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct device_node *dn = dev->of_node; struct xgene_pcie *port; struct pci_host_bridge *bridge; int ret; @@ -627,7 +625,6 @@ static int xgene_pcie_probe(struct platform_device *pdev) port = pci_host_bridge_priv(bridge); - port->node = of_node_get(dn); port->dev = dev; port->version = XGENE_PCIE_IP_VER_1; -- 2.43.0