History

net: liquidio: reject unsupported coalescing params

Set ethtool_ops->supported_coalesce_params to let the core reject unsupported coalescing parameters. This driver did not previously reject unsupported parameters.

Jakub Kicinski committed 6 years ago

Commit 812df691 parent 659d0762 files · +16 −0Browse files

Unified · Split

2 files
  1. drivers/net/ethernet/cavium/liquidio/lio_ethtool.c +11 −0
  2. include/linux/ethtool.h +5 −0
drivers/net/ethernet/cavium/liquidio/lio_ethtool.c+11−0
@@ -3097,7 +3097,17 @@ static int lio_set_fecparam(struct net_device *netdev, · 3096 unmodified lines
3097 return 0;3097 return 0;
3098}3098}
3099 3099
3100#define LIO_ETHTOOL_COALESCE (ETHTOOL_COALESCE_RX_USECS | \
3101 ETHTOOL_COALESCE_MAX_FRAMES | \
3102 ETHTOOL_COALESCE_USE_ADAPTIVE | \
3103 ETHTOOL_COALESCE_RX_MAX_FRAMES_LOW | \
3104 ETHTOOL_COALESCE_TX_MAX_FRAMES_LOW | \
3105 ETHTOOL_COALESCE_RX_MAX_FRAMES_HIGH | \
3106 ETHTOOL_COALESCE_TX_MAX_FRAMES_HIGH | \
3107 ETHTOOL_COALESCE_PKT_RATE_RX_USECS)
3108
3100static const struct ethtool_ops lio_ethtool_ops = {3109static const struct ethtool_ops lio_ethtool_ops = {
3110 .supported_coalesce_params = LIO_ETHTOOL_COALESCE,
3101 .get_link_ksettings = lio_get_link_ksettings,3111 .get_link_ksettings = lio_get_link_ksettings,
3102 .set_link_ksettings = lio_set_link_ksettings,3112 .set_link_ksettings = lio_set_link_ksettings,
3103 .get_fecparam = lio_get_fecparam,3113 .get_fecparam = lio_get_fecparam,
@@ -3128,6 +3138,7 @@ static const struct ethtool_ops lio_ethtool_ops = { · 24 unmodified lines
3128};3138};
3129 3139
3130static const struct ethtool_ops lio_vf_ethtool_ops = {3140static const struct ethtool_ops lio_vf_ethtool_ops = {
3141 .supported_coalesce_params = LIO_ETHTOOL_COALESCE,
3131 .get_link_ksettings = lio_get_link_ksettings,3142 .get_link_ksettings = lio_get_link_ksettings,
3132 .get_link = ethtool_op_get_link,3143 .get_link = ethtool_op_get_link,
3133 .get_drvinfo = lio_get_vf_drvinfo,3144 .get_drvinfo = lio_get_vf_drvinfo,
include/linux/ethtool.h+5−0
@@ -211,6 +211,11 @@ bool ethtool_convert_link_mode_to_legacy_u32(u32 *legacy_u32, · 210 unmodified lines
211 ETHTOOL_COALESCE_TX_MAX_FRAMES_IRQ)211 ETHTOOL_COALESCE_TX_MAX_FRAMES_IRQ)
212#define ETHTOOL_COALESCE_USE_ADAPTIVE \212#define ETHTOOL_COALESCE_USE_ADAPTIVE \
213 (ETHTOOL_COALESCE_USE_ADAPTIVE_RX | ETHTOOL_COALESCE_USE_ADAPTIVE_TX)213 (ETHTOOL_COALESCE_USE_ADAPTIVE_RX | ETHTOOL_COALESCE_USE_ADAPTIVE_TX)
214#define ETHTOOL_COALESCE_PKT_RATE_RX_USECS \
215 (ETHTOOL_COALESCE_USE_ADAPTIVE_RX | \
216 ETHTOOL_COALESCE_RX_USECS_LOW | ETHTOOL_COALESCE_RX_USECS_HIGH | \
217 ETHTOOL_COALESCE_PKT_RATE_LOW | ETHTOOL_COALESCE_PKT_RATE_HIGH | \
218 ETHTOOL_COALESCE_RATE_SAMPLE_INTERVAL)
214 219
215/**220/**
216 * struct ethtool_ops - optional netdev operations221 * struct ethtool_ops - optional netdev operations