]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: mscc: ocelot: fix address ageing time (again)
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 21 May 2020 21:31:23 +0000 (00:31 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 23:15:21 +0000 (16:15 -0700)
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: 4a814bc07dbd ("net: mscc: ocelot: ANA_AUTOAGE_AGE_PERIOD holds a value in seconds, not ms")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot.c

index 02350c3d9d011a155c584b6e891d745f5f8aa7b5..efb3965a3e42b6b3ce67350a59dc93c06042ef43 100644 (file)
@@ -1467,7 +1467,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);
 }