• Russell King's avatar
    net: phy: avoid setting unsupported EEE advertisments · 83ea067f
    Russell King authored
    We currently allow userspace to set any EEE advertisments it desires,
    whether or not the PHY supports them.  For example:
    
     # ethtool --set-eee eth1 advertise 0xffffffff
     # ethtool --show-eee eth1
     EEE Settings for eth1:
            EEE status: disabled
            Tx LPI: disabled
            Supported EEE link modes:  100baseT/Full
                                       1000baseT/Full
                                       10000baseT/Full
            Advertised EEE link modes:  100baseT/Full
                                        1000baseT/Full
                                        1000baseKX/Full
                                        10000baseT/Full
                                        10000baseKX4/Full
                                        10000baseKR/Full
    
    Clearly, this is not sane, we should only allow link modes that are
    supported to be advertised (as we do elsewhere.)  Ensure that we mask
    the MDIO_AN_EEE_ADV value with the capabilities retrieved from the
    MDIO_PCS_EEE_ABLE register.
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    83ea067f
phy.c 34.3 KB