if (test_bit(RTL8152_UNPLUG, &tp->flags))
                return -ENODEV;
 
-       usb_disable_lpm(tp->udev);
        set_tx_qlen(tp);
        rtl_set_eee_plus(tp);
        r8153_set_rx_early_timeout(tp);
        rtl_disable(tp);
        rtl_reset_bmu(tp);
        r8153_aldps_en(tp, true);
-       usb_enable_lpm(tp->udev);
 }
 
 static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u16 speed, u8 duplex)
        r8153_aldps_en(tp, true);
        r8153_u2p3en(tp, true);
        r8153_u1u2en(tp, true);
-       usb_enable_lpm(tp->udev);
 }
 
 static void rtl8153_down(struct r8152 *tp)
 
        data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
 
-       usb_disable_lpm(tp->udev);
        r8153_u2p3en(tp, false);
 
        if (tp->version == RTL_VER_04) {
 
        r8153_power_cut_en(tp, false);
        r8153_u1u2en(tp, true);
+       usb_enable_lpm(tp->udev);
 
        /* MAC clock speed down */
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL, 0);