1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00

net: ena: fix retrieval of nonadaptive interrupt moderation intervals

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>
This commit is contained in:
Arthur Kiyanovski 2019-09-16 14:31:35 +03:00 committed by David S. Miller
parent 7b8a28787e
commit 0eda847953

View file

@ -310,14 +310,15 @@ static int ena_get_coalesce(struct net_device *net_dev,
/* the devie doesn't support interrupt moderation */ /* the devie doesn't support interrupt moderation */
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
coalesce->tx_coalesce_usecs = 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; ena_dev->intr_delay_resolution;
if (!ena_com_get_adaptive_moderation_enabled(ena_dev)) if (!ena_com_get_adaptive_moderation_enabled(ena_dev))
coalesce->rx_coalesce_usecs = coalesce->rx_coalesce_usecs =
ena_com_get_nonadaptive_moderation_interval_rx(ena_dev) ena_com_get_nonadaptive_moderation_interval_rx(ena_dev)
/ ena_dev->intr_delay_resolution; * ena_dev->intr_delay_resolution;
coalesce->use_adaptive_rx_coalesce = coalesce->use_adaptive_rx_coalesce =
ena_com_get_adaptive_moderation_enabled(ena_dev); ena_com_get_adaptive_moderation_enabled(ena_dev);