OSDN Git Service

net: hns: reject unsupported coalescing params
authorJakub Kicinski <kuba@kernel.org>
Wed, 11 Mar 2020 22:32:52 +0000 (15:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Mar 2020 18:32:35 +0000 (11:32 -0700)
Set ethtool_ops->supported_coalesce_params to let
the core reject unsupported coalescing parameters.

This driver did not previously reject unsupported parameters.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
include/linux/ethtool.h

index 717fccc..49624ac 100644 (file)
@@ -1264,6 +1264,11 @@ static int hns_get_rxnfc(struct net_device *netdev,
 }
 
 static const struct ethtool_ops hns_ethtool_ops = {
+       .supported_coalesce_params = ETHTOOL_COALESCE_USECS |
+                                    ETHTOOL_COALESCE_MAX_FRAMES |
+                                    ETHTOOL_COALESCE_USE_ADAPTIVE |
+                                    ETHTOOL_COALESCE_USECS_LOW_HIGH |
+                                    ETHTOOL_COALESCE_MAX_FRAMES_LOW_HIGH,
        .get_drvinfo = hns_nic_get_drvinfo,
        .get_link  = hns_nic_get_link,
        .get_ringparam = hns_get_ringparam,
index acfce91..be355f3 100644 (file)
@@ -214,6 +214,11 @@ bool ethtool_convert_link_mode_to_legacy_u32(u32 *legacy_u32,
 #define ETHTOOL_COALESCE_USECS_LOW_HIGH                                        \
        (ETHTOOL_COALESCE_RX_USECS_LOW | ETHTOOL_COALESCE_TX_USECS_LOW | \
         ETHTOOL_COALESCE_RX_USECS_HIGH | ETHTOOL_COALESCE_TX_USECS_HIGH)
+#define ETHTOOL_COALESCE_MAX_FRAMES_LOW_HIGH   \
+       (ETHTOOL_COALESCE_RX_MAX_FRAMES_LOW |   \
+        ETHTOOL_COALESCE_TX_MAX_FRAMES_LOW |   \
+        ETHTOOL_COALESCE_RX_MAX_FRAMES_HIGH |  \
+        ETHTOOL_COALESCE_TX_MAX_FRAMES_HIGH)
 #define ETHTOOL_COALESCE_PKT_RATE_RX_USECS                             \
        (ETHTOOL_COALESCE_USE_ADAPTIVE_RX |                             \
         ETHTOOL_COALESCE_RX_USECS_LOW | ETHTOOL_COALESCE_RX_USECS_HIGH | \