[PATCH] net: pcs: xpcs-plat: fix runtime PM initialization
From: Coia Prant
Date: Sat Jul 04 2026 - 17:48:31 EST
The driver calls `pm_runtime_set_active()` before runtime PM is enabled,
and before the clock is prepared and enabled.
This causes the clock to be unprepared/disabled later in the suspend
callback even though it was never prepared/enabled, resulting in warnings:
clk_csr already disabled
clk_csr already unprepared
Fix this by setting the initial runtime PM status to SUSPENDED instead
of ACTIVE.
The clock will be properly enabled when the device is first resumed
via runtime PM (e.g., during MDIO access).
Fixes: f6bb3e9d98c2 ("net: pcs: xpcs: Add Synopsys DW xPCS platform device driver")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Coia Prant <coiaprant@xxxxxxxxx>
---
drivers/net/pcs/pcs-xpcs-plat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/pcs/pcs-xpcs-plat.c b/drivers/net/pcs/pcs-xpcs-plat.c
index f4b1b8246ce96..fb80773379df5 100644
--- a/drivers/net/pcs/pcs-xpcs-plat.c
+++ b/drivers/net/pcs/pcs-xpcs-plat.c
@@ -285,7 +285,7 @@ static int xpcs_plat_init_clk(struct dw_xpcs_plat *pxpcs)
return dev_err_probe(dev, PTR_ERR(pxpcs->cclk),
"Failed to get CSR clock\n");
- pm_runtime_set_active(dev);
+ pm_runtime_set_suspended(dev);
ret = devm_pm_runtime_enable(dev);
if (ret) {
dev_err(dev, "Failed to enable runtime-PM\n");
--
2.47.3