Don't call drivers if nothing changed. Netlink code already
contains this logic.

Signed-off-by: Jakub Kicinski <k...@kernel.org>
---
 net/ethtool/ioctl.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index a574d60111fa..eeb1137a3f23 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c
@@ -1669,6 +1669,12 @@ static noinline_for_stack int 
ethtool_set_channels(struct net_device *dev,
 
        dev->ethtool_ops->get_channels(dev, &curr);
 
+       if (channels.rx_count == curr.rx_count &&
+           channels.tx_count == curr.tx_count &&
+           channels.combined_count == curr.combined_count &&
+           channels.other_count == curr.other_count)
+               return 0;
+
        /* ensure new counts are within the maximums */
        if (channels.rx_count > curr.max_rx ||
            channels.tx_count > curr.max_tx ||
-- 
2.25.4

Reply via email to