net: ocelot: remove "bridge" argument from ocelot_get_bridge_fwd_mask
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 25 Nov 2021 12:58:07 +0000 (14:58 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 26 Nov 2021 03:32:07 +0000 (19:32 -0800)
The only called takes ocelot_port->bridge and passes it as the "bridge"
argument to this function, which then compares it with
ocelot_port->bridge. This is not useful.

Instead, we would like this function to return 0 if ocelot_port->bridge
is not present, which is what this patch does.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20211125125808.2383984-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mscc/ocelot.c

index 95920668feb05786998a1e1d8538e7fc4a2503fb..26feb030d1a6102c8e54643938bfbb7bbcb3d99f 100644 (file)
@@ -1542,15 +1542,18 @@ static u32 ocelot_get_bond_mask(struct ocelot *ocelot, struct net_device *bond,
        return mask;
 }
 
-static u32 ocelot_get_bridge_fwd_mask(struct ocelot *ocelot, int src_port,
-                                     struct net_device *bridge)
+static u32 ocelot_get_bridge_fwd_mask(struct ocelot *ocelot, int src_port)
 {
        struct ocelot_port *ocelot_port = ocelot->ports[src_port];
+       const struct net_device *bridge;
        u32 mask = 0;
        int port;
 
-       if (!ocelot_port || ocelot_port->bridge != bridge ||
-           ocelot_port->stp_state != BR_STATE_FORWARDING)
+       if (!ocelot_port || ocelot_port->stp_state != BR_STATE_FORWARDING)
+               return 0;
+
+       bridge = ocelot_port->bridge;
+       if (!bridge)
                return 0;
 
        for (port = 0; port < ocelot->num_phys_ports; port++) {
@@ -1617,10 +1620,9 @@ void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot)
                        mask = GENMASK(ocelot->num_phys_ports - 1, 0);
                        mask &= ~cpu_fwd_mask;
                } else if (ocelot_port->bridge) {
-                       struct net_device *bridge = ocelot_port->bridge;
                        struct net_device *bond = ocelot_port->bond;
 
-                       mask = ocelot_get_bridge_fwd_mask(ocelot, port, bridge);
+                       mask = ocelot_get_bridge_fwd_mask(ocelot, port);
                        mask |= cpu_fwd_mask;
                        mask &= ~BIT(port);
                        if (bond) {