On Fri, 26 Apr 2019 09:48:07 +0000, Igor Russkikh wrote: > From: Dmitry Bogdanov <dmitry.bogda...@aquantia.com> > > This improves ethtool -S usage, where stats are now actual > on each request. Before that stats only were updated at service > timer period. > > Tested-by: Nikita Danilov <ndani...@aquantia.com> > Signed-off-by: Igor Russkikh <igor.russk...@aquantia.com> > Signed-off-by: Dmitry Bogdanov <dmitry.bogda...@aquantia.com> > --- > drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > index 454a44bb148e..1893ba7fcd2b 100644 > --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > @@ -700,7 +700,15 @@ void aq_nic_get_stats(struct aq_nic_s *self, u64 *data) > unsigned int i = 0U; > unsigned int count = 0U; > struct aq_vec_s *aq_vec = NULL; > - struct aq_stats_s *stats = > self->aq_hw_ops->hw_get_hw_stats(self->aq_hw); > + struct aq_stats_s *stats; > + > + if (self->aq_fw_ops->update_stats) { > + mutex_lock(&self->fwreq_mutex); > + self->aq_fw_ops->update_stats(self->aq_hw); > + mutex_unlock(&self->fwreq_mutex); > + } > + stats = self->aq_hw_ops->hw_get_hw_stats(self->aq_hw); > + >
nit: unnecessary empty line here. BTW the mutex/wq patches look good now, thanks! > if (!stats) > goto err_exit;