cmd->supported = phydev->supported;
 
        cmd->advertising = phydev->advertising;
+       cmd->lp_advertising = phydev->lp_advertising;
 
        ethtool_cmd_speed_set(cmd, phydev->speed);
        cmd->duplex = phydev->duplex;
 
        if (err)
                return err;
 
+       phydev->lp_advertising = 0;
+
        if (AUTONEG_ENABLE == phydev->autoneg) {
                if (phydev->supported & (SUPPORTED_1000baseT_Half
                                        | SUPPORTED_1000baseT_Full)) {
                        if (adv < 0)
                                return adv;
 
+                       phydev->lp_advertising =
+                               mii_stat1000_to_ethtool_lpa_t(lpagb);
                        lpagb &= adv << 2;
                }
 
                if (lpa < 0)
                        return lpa;
 
+               phydev->lp_advertising |= mii_lpa_to_ethtool_lpa_t(lpa);
+
                adv = phy_read(phydev, MII_ADVERTISE);
 
                if (adv < 0)
 
  * adjust_state: Callback for the enet driver to respond to
  * changes in the state machine.
  *
- * speed, duplex, pause, supported, advertising, and
- * autoneg are used like in mii_if_info
+ * speed, duplex, pause, supported, advertising, lp_advertising,
+ * and autoneg are used like in mii_if_info
  *
  * interrupts currently only supports enabled or disabled,
  * but could be changed in the future to support enabling
        /* See mii.h for more info */
        u32 supported;
        u32 advertising;
+       u32 lp_advertising;
 
        int autoneg;