mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 00:52:01 +00:00
net: igb: let core reject the unsupported coalescing parameters
Set ethtool_ops->supported_coalesce_params to let the core reject unsupported coalescing parameters. This driver was rejecting almost all unsupported parameters already, it was only missing a check for tx_max_coalesced_frames_irq. As a side effect of these changes the error code for unsupported params changes from ENOTSUPP to EOPNOTSUPP. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cf5d0f1c24
commit
a289108c2a
@ -2183,27 +2183,6 @@ static int igb_set_coalesce(struct net_device *netdev,
|
|||||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (ec->rx_max_coalesced_frames ||
|
|
||||||
ec->rx_coalesce_usecs_irq ||
|
|
||||||
ec->rx_max_coalesced_frames_irq ||
|
|
||||||
ec->tx_max_coalesced_frames ||
|
|
||||||
ec->tx_coalesce_usecs_irq ||
|
|
||||||
ec->stats_block_coalesce_usecs ||
|
|
||||||
ec->use_adaptive_rx_coalesce ||
|
|
||||||
ec->use_adaptive_tx_coalesce ||
|
|
||||||
ec->pkt_rate_low ||
|
|
||||||
ec->rx_coalesce_usecs_low ||
|
|
||||||
ec->rx_max_coalesced_frames_low ||
|
|
||||||
ec->tx_coalesce_usecs_low ||
|
|
||||||
ec->tx_max_coalesced_frames_low ||
|
|
||||||
ec->pkt_rate_high ||
|
|
||||||
ec->rx_coalesce_usecs_high ||
|
|
||||||
ec->rx_max_coalesced_frames_high ||
|
|
||||||
ec->tx_coalesce_usecs_high ||
|
|
||||||
ec->tx_max_coalesced_frames_high ||
|
|
||||||
ec->rate_sample_interval)
|
|
||||||
return -ENOTSUPP;
|
|
||||||
|
|
||||||
if ((ec->rx_coalesce_usecs > IGB_MAX_ITR_USECS) ||
|
if ((ec->rx_coalesce_usecs > IGB_MAX_ITR_USECS) ||
|
||||||
((ec->rx_coalesce_usecs > 3) &&
|
((ec->rx_coalesce_usecs > 3) &&
|
||||||
(ec->rx_coalesce_usecs < IGB_MIN_ITR_USECS)) ||
|
(ec->rx_coalesce_usecs < IGB_MIN_ITR_USECS)) ||
|
||||||
@ -3477,6 +3456,7 @@ static int igb_set_priv_flags(struct net_device *netdev, u32 priv_flags)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ethtool_ops igb_ethtool_ops = {
|
static const struct ethtool_ops igb_ethtool_ops = {
|
||||||
|
.supported_coalesce_params = ETHTOOL_COALESCE_USECS,
|
||||||
.get_drvinfo = igb_get_drvinfo,
|
.get_drvinfo = igb_get_drvinfo,
|
||||||
.get_regs_len = igb_get_regs_len,
|
.get_regs_len = igb_get_regs_len,
|
||||||
.get_regs = igb_get_regs,
|
.get_regs = igb_get_regs,
|
||||||
|
Loading…
Reference in New Issue
Block a user