46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
From: Arthur Kiyanovski <akiyano@amazon.com>
|
|
Date: Mon, 16 Sep 2019 14:31:35 +0300
|
|
Subject: [PATCH] net: ena: fix retrieval of nonadaptive interrupt moderation
|
|
intervals
|
|
Origin: https://git.kernel.org/linus/0eda847953d8dfb4b713ea62420f66157e230e13
|
|
Bug-Debian: https://bugs.debian.org/941291
|
|
|
|
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 | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
Index: linux/drivers/net/ethernet/amazon/ena/ena_ethtool.c
|
|
===================================================================
|
|
--- linux.orig/drivers/net/ethernet/amazon/ena/ena_ethtool.c
|
|
+++ linux/drivers/net/ethernet/amazon/ena/ena_ethtool.c
|
|
@@ -310,14 +310,15 @@ static int ena_get_coalesce(struct net_d
|
|
/* 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);
|