]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:41:23 +0000 (18:41 +0200)
[ Upstream commit 0649e4d63420ebc8cbebef3e9d39e12ffc5eb9fa ]

Only report pause frame configuration for physical device. Logical
port of both PCI PF and PCI VF do not support it.

Fixes: 9fdc5d85a8fe ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c

index e0c27471bcdb52f5fb1f5b81811027d5c0b34687..5e2631aafdb6de8ea2fdfe4dc46a6e853cebf402 100644 (file)
@@ -287,8 +287,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;
@@ -296,6 +294,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);