speed = adapter->link_speed;
                        cmd->base.duplex = adapter->link_duplex - 1;
                }
-       } else if (!pm_runtime_suspended(netdev->dev.parent)) {
+       } else {
                u32 status = er32(STATUS);
 
                if (status & E1000_STATUS_LU) {
        ethtool_convert_link_mode_to_legacy_u32(&advertising,
                                                cmd->link_modes.advertising);
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        /* When SoL/IDER sessions are active, autoneg/speed/duplex
         * cannot be changed
         */
        if (hw->phy.ops.check_reset_block &&
            hw->phy.ops.check_reset_block(hw)) {
                e_err("Cannot change link characteristics when SoL/IDER is active.\n");
-               ret_val = -EINVAL;
-               goto out;
+               return -EINVAL;
        }
 
        /* MDI setting is only allowed when autoneg enabled because
         * duplex is forced.
         */
        if (cmd->base.eth_tp_mdix_ctrl) {
-               if (hw->phy.media_type != e1000_media_type_copper) {
-                       ret_val = -EOPNOTSUPP;
-                       goto out;
-               }
+               if (hw->phy.media_type != e1000_media_type_copper)
+                       return -EOPNOTSUPP;
 
                if ((cmd->base.eth_tp_mdix_ctrl != ETH_TP_MDI_AUTO) &&
                    (cmd->base.autoneg != AUTONEG_ENABLE)) {
                        e_err("forcing MDI/MDI-X state is not supported when link speed and/or duplex are forced\n");
-                       ret_val = -EINVAL;
-                       goto out;
+                       return -EINVAL;
                }
        }
 
        }
 
 out:
-       pm_runtime_put_sync(netdev->dev.parent);
        clear_bit(__E1000_RESETTING, &adapter->state);
        return ret_val;
 }
        while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
                usleep_range(1000, 2000);
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        if (adapter->fc_autoneg == AUTONEG_ENABLE) {
                hw->fc.requested_mode = e1000_fc_default;
                if (netif_running(adapter->netdev)) {
        }
 
 out:
-       pm_runtime_put_sync(netdev->dev.parent);
        clear_bit(__E1000_RESETTING, &adapter->state);
        return retval;
 }
        u32 *regs_buff = p;
        u16 phy_data;
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        memset(p, 0, E1000_REGS_LEN * sizeof(u32));
 
        regs->version = (1u << 24) |
        e1e_rphy(hw, MII_STAT1000, &phy_data);
        regs_buff[24] = (u32)phy_data;  /* phy local receiver status */
        regs_buff[25] = regs_buff[24];  /* phy remote receiver status */
-
-       pm_runtime_put_sync(netdev->dev.parent);
 }
 
 static int e1000_get_eeprom_len(struct net_device *netdev)
        if (!eeprom_buff)
                return -ENOMEM;
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        if (hw->nvm.type == e1000_nvm_eeprom_spi) {
                ret_val = e1000_read_nvm(hw, first_word,
                                         last_word - first_word + 1,
                }
        }
 
-       pm_runtime_put_sync(netdev->dev.parent);
-
        if (ret_val) {
                /* a read error occurred, throw away the result */
                memset(eeprom_buff, 0xff, sizeof(u16) *
 
        ptr = (void *)eeprom_buff;
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        if (eeprom->offset & 1) {
                /* need read/modify/write of first changed EEPROM word */
                /* only the second byte of the word is being modified */
                ret_val = e1000e_update_nvm_checksum(hw);
 
 out:
-       pm_runtime_put_sync(netdev->dev.parent);
        kfree(eeprom_buff);
        return ret_val;
 }
                }
        }
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        e1000e_down(adapter, true);
 
        /* We can't just free everything and then setup again, because the
                e1000e_free_tx_resources(temp_tx);
 err_setup:
        e1000e_up(adapter);
-       pm_runtime_put_sync(netdev->dev.parent);
 free_temp:
        vfree(temp_tx);
        vfree(temp_rx);
        u8 autoneg;
        bool if_running = netif_running(netdev);
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        set_bit(__E1000_TESTING, &adapter->state);
 
        if (!if_running) {
        }
 
        msleep_interruptible(4 * 1000);
-
-       pm_runtime_put_sync(netdev->dev.parent);
 }
 
 static void e1000_get_wol(struct net_device *netdev,
                adapter->itr_setting = adapter->itr & ~3;
        }
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        if (adapter->itr_setting != 0)
                e1000e_write_itr(adapter, adapter->itr);
        else
                e1000e_write_itr(adapter, 0);
 
-       pm_runtime_put_sync(netdev->dev.parent);
-
        return 0;
 }
 
        if (!adapter->hw.mac.autoneg)
                return -EINVAL;
 
-       pm_runtime_get_sync(netdev->dev.parent);
        e1000e_reinit_locked(adapter);
-       pm_runtime_put_sync(netdev->dev.parent);
 
        return 0;
 }
        int i;
        char *p = NULL;
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        dev_get_stats(netdev, &net_stats);
 
-       pm_runtime_put_sync(netdev->dev.parent);
-
        for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
                switch (e1000_gstrings_stats[i].type) {
                case NETDEV_STATS:
                struct e1000_hw *hw = &adapter->hw;
                u32 mrqc;
 
-               pm_runtime_get_sync(netdev->dev.parent);
                mrqc = er32(MRQC);
-               pm_runtime_put_sync(netdev->dev.parent);
 
                if (!(mrqc & E1000_MRQC_RSS_FIELD_MASK))
                        return 0;
                return -EOPNOTSUPP;
        }
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        ret_val = hw->phy.ops.acquire(hw);
-       if (ret_val) {
-               pm_runtime_put_sync(netdev->dev.parent);
+       if (ret_val)
                return -EBUSY;
-       }
 
        /* EEE Capability */
        ret_val = e1000_read_emi_reg_locked(hw, cap_addr, &phy_data);
        if (ret_val)
                ret_val = -ENODATA;
 
-       pm_runtime_put_sync(netdev->dev.parent);
-
        return ret_val;
 }
 
 
        hw->dev_spec.ich8lan.eee_disable = !edata->eee_enabled;
 
-       pm_runtime_get_sync(netdev->dev.parent);
-
        /* reset the link */
        if (netif_running(netdev))
                e1000e_reinit_locked(adapter);
        else
                e1000e_reset(adapter);
 
-       pm_runtime_put_sync(netdev->dev.parent);
-
        return 0;
 }