flow_stats_update() takes an absolute timestamp for lastused, not delta. Fix that. Signed-off-by: David Yang --- drivers/net/dsa/sja1105/sja1105_vl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/dsa/sja1105/sja1105_vl.c b/drivers/net/dsa/sja1105/sja1105_vl.c index 0ae9cb5ea8d1..e6ba9d4f8d1e 100644 --- a/drivers/net/dsa/sja1105/sja1105_vl.c +++ b/drivers/net/dsa/sja1105/sja1105_vl.c @@ -791,8 +791,7 @@ int sja1105_vl_stats(struct sja1105_private *priv, int port, pkts = timingerr + unreleased + lengtherr; flow_stats_update(stats, 0, pkts - rule->vl.stats.pkts, 0, - jiffies - rule->vl.stats.lastused, - FLOW_ACTION_HW_STATS_IMMEDIATE); + jiffies, FLOW_ACTION_HW_STATS_IMMEDIATE); rule->vl.stats.pkts = pkts; rule->vl.stats.lastused = jiffies; -- 2.53.0