Message ID | 20200521213123.672163-1-olteanv@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: mscc: ocelot: fix address ageing time (again) | expand |
From: Vladimir Oltean <olteanv@gmail.com> Date: Fri, 22 May 2020 00:31:23 +0300 > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > ocelot_set_ageing_time has 2 callers: > - felix_set_ageing_time: from drivers/net/dsa/ocelot/felix.c > - ocelot_port_attr_ageing_set: from drivers/net/ethernet/mscc/ocelot.c > > The issue described in the fixed commit below actually happened for the > felix_set_ageing_time code path only, since ocelot_port_attr_ageing_set > was already dividing by 1000. So to make both paths symmetrical (and to > fix addresses getting aged way too fast on Ocelot), stop dividing by > 1000 at caller side altogether. > > Fixes: c0d7eccbc761 ("net: mscc: ocelot: ANA_AUTOAGE_AGE_PERIOD holds a value in seconds, not ms") > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Applied.
diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c index e200af736b10..468c83a4c557 100644 --- a/drivers/net/ethernet/mscc/ocelot.c +++ b/drivers/net/ethernet/mscc/ocelot.c @@ -1478,7 +1478,7 @@ static void ocelot_port_attr_ageing_set(struct ocelot *ocelot, int port, unsigned long ageing_clock_t) { unsigned long ageing_jiffies = clock_t_to_jiffies(ageing_clock_t); - u32 ageing_time = jiffies_to_msecs(ageing_jiffies) / 1000; + u32 ageing_time = jiffies_to_msecs(ageing_jiffies); ocelot_set_ageing_time(ocelot, ageing_time); }