| From b703a736b8f2b12f097cb66b5dafb77ebd64086b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 26 Aug 2025 10:30:22 -0400 |
| Subject: net: macb: Disable clocks once |
| |
| From: Neil Mandir <neil.mandir@seco.com> |
| |
| [ Upstream commit dac978e51cce0c1f00a14c4a82f81d387f79b2d4 ] |
| |
| When the driver is removed the clocks are disabled twice: once in |
| macb_remove and a second time by runtime pm. Disable wakeup in remove so |
| all the clocks are disabled and skip the second call to macb_clks_disable. |
| Always suspend the device as we always set it active in probe. |
| |
| Fixes: d54f89af6cc4 ("net: macb: Add pm runtime support") |
| Signed-off-by: Neil Mandir <neil.mandir@seco.com> |
| Co-developed-by: Sean Anderson <sean.anderson@linux.dev> |
| Signed-off-by: Sean Anderson <sean.anderson@linux.dev> |
| Link: https://patch.msgid.link/20250826143022.935521-1-sean.anderson@linux.dev |
| Signed-off-by: Paolo Abeni <pabeni@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/cadence/macb_main.c | 7 ++----- |
| 1 file changed, 2 insertions(+), 5 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c |
| index 3cb50e5385d49..d949d2ba6cb9f 100644 |
| --- a/drivers/net/ethernet/cadence/macb_main.c |
| +++ b/drivers/net/ethernet/cadence/macb_main.c |
| @@ -5396,14 +5396,11 @@ static void macb_remove(struct platform_device *pdev) |
| mdiobus_unregister(bp->mii_bus); |
| mdiobus_free(bp->mii_bus); |
| |
| + device_set_wakeup_enable(&bp->pdev->dev, 0); |
| cancel_work_sync(&bp->hresp_err_bh_work); |
| pm_runtime_disable(&pdev->dev); |
| pm_runtime_dont_use_autosuspend(&pdev->dev); |
| - if (!pm_runtime_suspended(&pdev->dev)) { |
| - macb_clks_disable(bp->pclk, bp->hclk, bp->tx_clk, |
| - bp->rx_clk, bp->tsu_clk); |
| - pm_runtime_set_suspended(&pdev->dev); |
| - } |
| + pm_runtime_set_suspended(&pdev->dev); |
| phylink_destroy(bp->phylink); |
| free_netdev(dev); |
| } |
| -- |
| 2.50.1 |
| |