From: Bjorn Helgaas <bhelg...@google.com>

8c5ad0dae93c ("igc: Add ethtool support") added ethtool_ops.begin() and
.complete(), which used pm_runtime_get_sync() to resume suspended devices
before any ethtool_ops callback and allow suspend after it completed.

Subsequently, f32a21376573 ("ethtool: runtime-resume netdev parent before
ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path,
so the device is resumed before any ethtool_ops callback even if the driver
didn't supply a .begin() callback.

Remove the .begin() and .complete() callbacks, which are now redundant
because dev_ethtool() already resumes the device.

Signed-off-by: Bjorn Helgaas <bhelg...@google.com>
---
 drivers/net/ethernet/intel/igc/igc_ethtool.c | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c 
b/drivers/net/ethernet/intel/igc/igc_ethtool.c
index 1a64f1ca6ca8..f2c4f1966bb0 100644
--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
@@ -1711,21 +1711,6 @@ static int igc_ethtool_set_eee(struct net_device *netdev,
        return 0;
 }
 
-static int igc_ethtool_begin(struct net_device *netdev)
-{
-       struct igc_adapter *adapter = netdev_priv(netdev);
-
-       pm_runtime_get_sync(&adapter->pdev->dev);
-       return 0;
-}
-
-static void igc_ethtool_complete(struct net_device *netdev)
-{
-       struct igc_adapter *adapter = netdev_priv(netdev);
-
-       pm_runtime_put(&adapter->pdev->dev);
-}
-
 static int igc_ethtool_get_link_ksettings(struct net_device *netdev,
                                          struct ethtool_link_ksettings *cmd)
 {
@@ -2025,8 +2010,6 @@ static const struct ethtool_ops igc_ethtool_ops = {
        .set_priv_flags         = igc_ethtool_set_priv_flags,
        .get_eee                = igc_ethtool_get_eee,
        .set_eee                = igc_ethtool_set_eee,
-       .begin                  = igc_ethtool_begin,
-       .complete               = igc_ethtool_complete,
        .get_link_ksettings     = igc_ethtool_get_link_ksettings,
        .set_link_ksettings     = igc_ethtool_set_link_ksettings,
        .self_test              = igc_ethtool_diag_test,
-- 
2.34.1

Reply via email to