• Florian Fainelli's avatar
    net: ethtool: Add back transceiver type · 19cab887
    Florian Fainelli authored
    Commit 3f1ac7a7 ("net: ethtool: add new ETHTOOL_xLINKSETTINGS API")
    deprecated the ethtool_cmd::transceiver field, which was fine in
    premise, except that the PHY library was actually using it to report the
    type of transceiver: internal or external.
    
    Use the first word of the reserved field to put this __u8 transceiver
    field back in. It is made read-only, and we don't expect the
    ETHTOOL_xLINKSETTINGS API to be doing anything with this anyway, so this
    is mostly for the legacy path where we do:
    
    ethtool_get_settings()
    -> dev->ethtool_ops->get_link_ksettings()
       -> convert_link_ksettings_to_legacy_settings()
    
    to have no information loss compared to the legacy get_settings API.
    
    Fixes: 3f1ac7a7 ("net: ethtool: add new ETHTOOL_xLINKSETTINGS API")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    19cab887
ethtool.c 71.4 KB