OSDN Git Service

net/mlx4_en: fix mlx4 ethtool -N insertion
authorLuigi Rizzo <lrizzo@google.com>
Fri, 15 Nov 2019 20:12:25 +0000 (12:12 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Nov 2019 17:25:25 +0000 (18:25 +0100)
[ Upstream commit 34e59836565e36fade1464e054a3551c1a0364be ]

ethtool expects ETHTOOL_GRXCLSRLALL to set ethtool_rxnfc->data with the
total number of entries in the rx classifier table.  Surprisingly, mlx4
is missing this part (in principle ethtool could still move forward and
try the insert).

Tested: compiled and run command:
phh13:~# ethtool -N eth1 flow-type udp4  queue 4
Added rule with ID 255

Signed-off-by: Luigi Rizzo <lrizzo@google.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c

index fcd1e6b..b52491f 100644 (file)
@@ -1667,6 +1667,7 @@ static int mlx4_en_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
                err = mlx4_en_get_flow(dev, cmd, cmd->fs.location);
                break;
        case ETHTOOL_GRXCLSRLALL:
+               cmd->data = MAX_NUM_OF_FS_RULES;
                while ((!err || err == -ENOENT) && priority < cmd->rule_cnt) {
                        err = mlx4_en_get_flow(dev, cmd, i);
                        if (!err)