]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfp: only report pause frame configuration for physical device
authorYu Xiao <yu.xiao@corigine.com>
Fri, 27 May 2022 18:24:24 +0000 (20:24 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 May 2022 11:44:34 +0000 (12:44 +0100)
Only report pause frame configuration for physical device. Logical
port of both PCI PF and PCI VF do not support it.

Fixes: 6347f10e42e4 ("nfp: update ethtool reporting of pauseframe control")
Signed-off-by: Yu Xiao <yu.xiao@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c

index 61c8b450aafb1ba3b1ce9c9aebc5d1b2409f4cb6..df0afd271a21e983c5ab7a5f58be7f6e81378ccd 100644 (file)
@@ -289,8 +289,6 @@ nfp_net_get_link_ksettings(struct net_device *netdev,
 
        /* Init to unknowns */
        ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
-       ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
-       ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
        cmd->base.port = PORT_OTHER;
        cmd->base.speed = SPEED_UNKNOWN;
        cmd->base.duplex = DUPLEX_UNKNOWN;
@@ -298,6 +296,8 @@ nfp_net_get_link_ksettings(struct net_device *netdev,
        port = nfp_port_from_netdev(netdev);
        eth_port = nfp_port_get_eth_port(port);
        if (eth_port) {
+               ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
+               ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause);
                cmd->base.autoneg = eth_port->aneg != NFP_ANEG_DISABLED ?
                        AUTONEG_ENABLE : AUTONEG_DISABLE;
                nfp_net_set_fec_link_mode(eth_port, cmd);