diff mbox series

[net] net: mscc: ocelot: fix address ageing time (again)

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

Commit Message

Vladimir Oltean May 21, 2020, 9:31 p.m. UTC
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>
---
 drivers/net/ethernet/mscc/ocelot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller May 22, 2020, 11:16 p.m. UTC | #1
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 mbox series

Patch

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);
 }