Signed-off-by: Igor Russkikh <[email protected]>
---
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 7 +++++++
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
index b0abd18..331e7b8 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
@@ -344,6 +344,13 @@ static int hw_atl_a0_hw_init(struct aq_hw_s *self,
hw_atl_a0_hw_rss_set(self, &aq_nic_cfg->aq_rss);
hw_atl_a0_hw_rss_hash_set(self, &aq_nic_cfg->aq_rss);
+ /* Read initial hardware counters
+ * and reset current in-driver statistics
+ */
+ hw_atl_utils_update_stats(self);
+ memset(&PHAL_ATLANTIC_A0->curr_stats, 0,
+ sizeof(PHAL_ATLANTIC_A0->curr_stats));
+
err = aq_hw_err_from_flags(self);
if (err < 0)
goto err_exit;
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
index 36fddb1..1137034 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
@@ -397,6 +397,13 @@ static int hw_atl_b0_hw_init(struct aq_hw_s *self,
*/
aq_hw_write_reg(self, tx_dma_total_req_limit_adr, 24);
+ /* Read initial hardware counters
+ * and reset current in-driver statistics
+ */
+ hw_atl_utils_update_stats(self);
+ memset(&PHAL_ATLANTIC_B0->curr_stats, 0,
+ sizeof(PHAL_ATLANTIC_B0->curr_stats));
+
err = aq_hw_err_from_flags(self);
if (err < 0)
goto err_exit;
--
2.7.4