net: ena: fix retrieval of nonadaptive interrupt moderation intervals
authorArthur Kiyanovski <akiyano@amazon.com>
Mon, 16 Sep 2019 11:31:35 +0000 (14:31 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Sep 2019 20:06:02 +0000 (22:06 +0200)
Nonadaptive interrupt moderation intervals are assigned the value set
by the user in ethtool -C divided by ena_dev->intr_delay_resolution.

Therefore when the user tries to get the nonadaptive interrupt moderation
intervals with ethtool -c the code needs to multiply the saved value
by ena_dev->intr_delay_resolution.

The current code erroneously divides instead of multiplying in ethtool -c.
This patch fixes this.

Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_ethtool.c

index 0f90e2296630853275c5f889d5773b163d71a882..16553d92fad295b6f9bca871ecbd0e0cc481145b 100644 (file)
@@ -310,14 +310,15 @@ static int ena_get_coalesce(struct net_device *net_dev,
                /* the devie doesn't support interrupt moderation */
                return -EOPNOTSUPP;
        }
+
        coalesce->tx_coalesce_usecs =
-               ena_com_get_nonadaptive_moderation_interval_tx(ena_dev) /
+               ena_com_get_nonadaptive_moderation_interval_tx(ena_dev) *
                        ena_dev->intr_delay_resolution;
 
        if (!ena_com_get_adaptive_moderation_enabled(ena_dev))
                coalesce->rx_coalesce_usecs =
                        ena_com_get_nonadaptive_moderation_interval_rx(ena_dev)
-                       / ena_dev->intr_delay_resolution;
+                       * ena_dev->intr_delay_resolution;
 
        coalesce->use_adaptive_rx_coalesce =
                ena_com_get_adaptive_moderation_enabled(ena_dev);