net: fec: Fix unbalanced PM runtime calls
authorFlorian Fainelli <f.fainelli@gmail.com>
Sun, 18 Mar 2018 19:49:51 +0000 (12:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Apr 2018 09:49:43 +0000 (11:49 +0200)
[ Upstream commit a069215cf5985f3aa1bba550264907d6bd05c5f7 ]

When unbinding/removing the driver, we will run into the following warnings:

[  259.655198] fec 400d1000.ethernet: 400d1000.ethernet supply phy not found, using dummy regulator
[  259.665065] fec 400d1000.ethernet: Unbalanced pm_runtime_enable!
[  259.672770] fec 400d1000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
[  259.683062] fec 400d1000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: f2:3e:93:b7:29:c1
[  259.696239] libphy: fec_enet_mii_bus: probed

Avoid these warnings by balancing the runtime PM calls during fec_drv_remove().

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/freescale/fec_main.c

index f1224c2d112af34f380563df43e487d3403613db..f17b427d91bd8a11b4fd92b19413979bd9828814 100644 (file)
@@ -3339,6 +3339,8 @@ fec_drv_remove(struct platform_device *pdev)
        if (fep->reg_phy)
                regulator_disable(fep->reg_phy);
        fec_enet_clk_enable(ndev, false);
+       pm_runtime_put(&pdev->dev);
+       pm_runtime_disable(&pdev->dev);
        of_node_put(fep->phy_node);
        free_netdev(ndev);