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@vger.kernel.org Signed-off-by: Coia Prant --- 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