igb: report unsupported ethtool settings in set_coalesce
authorTodd Fujinaka <todd.fujinaka@intel.com>
Thu, 4 Jun 2015 21:26:56 +0000 (14:26 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 23 Jul 2015 12:06:14 +0000 (05:06 -0700)
There are many settings possible using ethtool -C/--coalesce, but not
all of them are supported in igb. Report failure when an unsupported
option is set.

Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_ethtool.c

index 109cad928e71a44e202bcdd0a28412fba5a5a668..b7b9c670bb3c7e24db5ff9d8e3437af06c27d317 100644 (file)
@@ -2159,6 +2159,27 @@ static int igb_set_coalesce(struct net_device *netdev,
        struct igb_adapter *adapter = netdev_priv(netdev);
        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) ||
            ((ec->rx_coalesce_usecs > 3) &&
             (ec->rx_coalesce_usecs < IGB_MIN_ITR_USECS)) ||