On Thu, 7 Jan 2021 15:36:45 +0100 Andrew Lunn wrote: > > +static void ar9331_get_stats64(struct dsa_switch *ds, int port, > > + struct rtnl_link_stats64 *s) > > +{ > > + struct ar9331_sw_priv *priv = (struct ar9331_sw_priv *)ds->priv; > > + struct ar9331_sw_port *p = &priv->port[port]; > > + > > + spin_lock(&p->stats_lock); > > + memcpy(s, &p->stats, sizeof(*s)); > > + spin_unlock(&p->stats_lock); > > +} > > This should probably wait until Vladimir's changes for stat64 are > merged, so this call can sleep. You can then return up to date > statistics. Plus rx_nohandler is still updated from HW stats here :| + stats->rx_nohandler += raw.filtered;