From: Vladimir Oltean <vladimir.olt...@nxp.com>

It makes it a bit easier to read and understand the code that deals with
balancing the 16 aggregation codes among the ports in a certain LAG.

Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
---
Changes in v3:
None.

Changes in v2:
None.

 drivers/net/ethernet/mscc/ocelot.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mscc/ocelot.c 
b/drivers/net/ethernet/mscc/ocelot.c
index c906c449d2dd..380a5a661702 100644
--- a/drivers/net/ethernet/mscc/ocelot.c
+++ b/drivers/net/ethernet/mscc/ocelot.c
@@ -1298,8 +1298,8 @@ static void ocelot_set_aggr_pgids(struct ocelot *ocelot)
        /* Now, set PGIDs for each active LAG */
        for (lag = 0; lag < ocelot->num_phys_ports; lag++) {
                struct net_device *bond = ocelot->ports[lag]->bond;
+               int num_ports_in_lag = 0;
                unsigned long bond_mask;
-               int aggr_count = 0;
                u8 aggr_idx[16];
 
                if (!bond || (visited & BIT(lag)))
@@ -1311,8 +1311,7 @@ static void ocelot_set_aggr_pgids(struct ocelot *ocelot)
                        // Destination mask
                        ocelot_write_rix(ocelot, bond_mask,
                                         ANA_PGID_PGID, port);
-                       aggr_idx[aggr_count] = port;
-                       aggr_count++;
+                       aggr_idx[num_ports_in_lag++] = port;
                }
 
                for_each_aggr_pgid(ocelot, i) {
@@ -1320,7 +1319,7 @@ static void ocelot_set_aggr_pgids(struct ocelot *ocelot)
 
                        ac = ocelot_read_rix(ocelot, ANA_PGID_PGID, i);
                        ac &= ~bond_mask;
-                       ac |= BIT(aggr_idx[i % aggr_count]);
+                       ac |= BIT(aggr_idx[i % num_ports_in_lag]);
                        ocelot_write_rix(ocelot, ac, ANA_PGID_PGID, i);
                }
 
-- 
2.25.1

Reply via email to