From nobody Sat Jul 25 04:30:08 2026 Received: from mail-wm2-f2.google.com (mail-wm2-f2.google.com [74.125.225.130]) (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 58F5D1DC1AB for ; Sat, 18 Jul 2026 13:40:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784382018; cv=none; b=nEw48QeWlD1zziprQCWJpwBEclrWFixy6MOoSn2Awol7wcjDwCenge7AD53SA0JYA1pqg7vHadp8MLC1feo6KD5PmYnrjucXjjKLDRZTzvkTRhPuGJ38gVq2MjefJQb+0gBJR4kvXb8kfERYOhqyFfAt4gfbyw7JX3IX+Pe2qh4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784382018; c=relaxed/simple; bh=Vr70OKF73HRcxxONsAAc5wyRqN8OnzNDUibnMbNiOYU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ok+NEOSeVX6VLwDB2g3SgmnGr86XCgR2YfvY05QiHKndJVZ3xe/posPvoP0QsSYBKAdA0w+MMsWzhUcNw41HxYVq9H+sA6TQ3vlYQ1W/hmyEN4ciSpW+6mH20Bs9JnGV/egFFy6/txrCu5XTTe96I0ViujC3DPKaAjODohbNgho= 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=sSl7bQk7; arc=none smtp.client-ip=74.125.225.130 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="sSl7bQk7" Received: by mail-wm2-f2.google.com with SMTP id 5b1f17b1804b1-4926d058720so13041745e9.0 for ; Sat, 18 Jul 2026 06:40:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784382016; x=1784986816; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Ew/Mri6rzDrFehp5hGcw5HQsP8kSiZwlWHmbV5SwxfE=; b=sSl7bQk7XHrZPpM0EoxfQDejrd5cY7tNwvbCS0UJRCz7a6CQ5B0U1HKFlauHC0QqV5 9qQbr+xgKCcoj90Mn+7zIhUymk+CYQjiocXDLyu74+zLVkgv6ewoZqbv43z44Asgb5mN nMuDOSpcT3e7dV+F7yH3Bx/sJQRyalcND6BI2xxbkxTjWO33K7k0qjDk3Iq7MbMXz2qy sqx0Tp6dYZWKeeekwP/fWqQ3GOjgTF52XYrFUqGndusA7/IjxjK1bgbSSl+uoREmgluT ft3VrtdgjmkIfJv7YL0DkPyJyIE4jbl4SSf+Sv69vdGLMAXoyr3tVAtaF3Ur9DatGieY LRig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784382016; x=1784986816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Ew/Mri6rzDrFehp5hGcw5HQsP8kSiZwlWHmbV5SwxfE=; b=aVurYnd2+G3UJMrDv2pkjafZCMomD8xNP2AxqZO/5reEumskOks0bP2n7ENCbOZnal 7Xo3RjZ3tFViVYL57yUVsJ+xU9clrVYd4Ei8rALHA+x56qDrq5Amv1IklxAwemZvN5MT /pld1PouxXuu/AwsWwfd0wEK9IPzajFg7zpiKOo+l/tVRYeAf/pVKkcla9tRuPHKeSaH lIprWE6u8JPI3ModLBM0dnHm3Nc3bUXGbnHhremrZHG6RWi66b2J/TXyZSNSEJ/Jgxm6 cMNSgSnBMbx083xCpAJD5opEqgTtnRLlw2Ppb/hTdSTRaN5zr+Mn5YjEWtqUeNe51Ykz gRhA== X-Forwarded-Encrypted: i=1; AHgh+Rpq3DVflYzNsVB+a12JOKxzwQ51e6uv1Fn8V+FJxda+bq67EZSsLwj9H40OzuU9MKyvshQ1W6J079HHt00=@vger.kernel.org X-Gm-Message-State: AOJu0YwIefcSQEgEAkEs5bqJEXs6uXyAXElygt4SVBQoSYAAkXwDIbjx mZdlHN1gAyWCe6pTXYkJDyOmRvo3INh/w8NdcNDtnUPNy2ZPjWsM9tySMbX3ttotTVo= X-Gm-Gg: AfdE7clMBj4q2pYURq0jgYdkejCN0/94U0bEa7o71IczbAdpNGXBFZf8lIrt38QCKxA hSAg52D2SPGC/Y1zcV1HhztsxgZW3sBcOjxy4NvUEaz7R4VEk2VbaWxUj2dzTcaGwPA65HlfLFL RhJ+CS7H9aEK57GLFy0KSdySLu/We6eI60/ez7zWp/VZjNyjjiEzqMtpv6H0JNWMxvAzkHyrq++ RkwsGzb199iJUMqPIa3hahfhvKlFmV53D6RLj73SSgXf336/4Rx5S05Vfb25Opa+TcOwrV0NdN+ MNkZZgXMVvRX+Gw4Pcx3/GtMgO4jCghDet83t9O4Au5DiHl3Exu0qvTHnIE6q5utpaArrdBRF2R nQnsujf57gY5ZD0mrkN1y64kBDEuPNFjPU5yvl4CB2mgK20PwGkx9I4tkght3isba0rZDhU+Ky8 lqM95C5sAp X-Received: by 2002:a05:600d:6454:10b0:493:bfbf:1da4 with SMTP id 5b1f17b1804b1-4954a403910mr58891185e9.22.1784382015328; Sat, 18 Jul 2026 06:40:15 -0700 (PDT) Received: from workstation.. ([202.163.123.30]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4954aa1a231sm72913345e9.1.2026.07.18.06.40.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2026 06:40:14 -0700 (PDT) From: Ali Tariq To: Kevin Xie Cc: Ali Tariq , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Minda Chen , Mason Huo , linux-pci@vger.kernel.org (open list:PCIE DRIVER FOR STARFIVE JH71x0), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2] PCI: starfive: Fix Runtime PM handling and teardown ordering Date: Sat, 18 Jul 2026 18:38:25 +0500 Message-Id: <20260718133825.445041-1-alitariq45892@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260713145014.740898-1-alitariq45892@gmail.com> References: <20260713145014.740898-1-alitariq45892@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The starfive_pcie_remove() path incorrectly disabled runtime PM before executing plda_pcie_host_deinit(), which can cause unmanaged hardware register access while power domains or clocks are disabled. Fix this by restructuring starfive_pcie_remove() to deinitialize the host hardware first while runtime PM is active, followed by a synchronous pm_runtime_put_sync() and pm_runtime_disable(). This bug was found in automated AI review by sashiko-bot. Fixes: 39b91eb40c6a ("PCI: starfive: Add JH7110 PCIe controller") Link: https://lore.kernel.org/linux-pci/20260712180440.423421F000E9@smtp.ke= rnel.org/ Signed-off-by: Ali Tariq --- Changes in v2: - Added Fixes tag to commit message - Added reference link to the bug found by sashiko-bot --- drivers/pci/controller/plda/pcie-starfive.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/plda/pcie-starfive.c b/drivers/pci/cont= roller/plda/pcie-starfive.c index e9a472985b8a..ba8ef7842e35 100644 --- a/drivers/pci/controller/plda/pcie-starfive.c +++ b/drivers/pci/controller/plda/pcie-starfive.c @@ -440,9 +440,9 @@ static void starfive_pcie_remove(struct platform_device= *pdev) { struct starfive_jh7110_pcie *pcie =3D platform_get_drvdata(pdev); =20 - pm_runtime_put(&pdev->dev); - pm_runtime_disable(&pdev->dev); plda_pcie_host_deinit(&pcie->plda); + pm_runtime_put_sync(&pdev->dev); + pm_runtime_disable(&pdev->dev); platform_set_drvdata(pdev, NULL); } =20 --=20 2.34.1