Commit a8bd9fa5 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Jakub Kicinski

net: ocelot: remove "bridge" argument from ocelot_get_bridge_fwd_mask

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: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20211125125808.2383984-1-vladimir.oltean@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 4636440f
...@@ -1542,15 +1542,18 @@ static u32 ocelot_get_bond_mask(struct ocelot *ocelot, struct net_device *bond, ...@@ -1542,15 +1542,18 @@ static u32 ocelot_get_bond_mask(struct ocelot *ocelot, struct net_device *bond,
return mask; return mask;
} }
static u32 ocelot_get_bridge_fwd_mask(struct ocelot *ocelot, int src_port, static u32 ocelot_get_bridge_fwd_mask(struct ocelot *ocelot, int src_port)
struct net_device *bridge)
{ {
struct ocelot_port *ocelot_port = ocelot->ports[src_port]; struct ocelot_port *ocelot_port = ocelot->ports[src_port];
const struct net_device *bridge;
u32 mask = 0; u32 mask = 0;
int port; int port;
if (!ocelot_port || ocelot_port->bridge != bridge || if (!ocelot_port || ocelot_port->stp_state != BR_STATE_FORWARDING)
ocelot_port->stp_state != BR_STATE_FORWARDING) return 0;
bridge = ocelot_port->bridge;
if (!bridge)
return 0; return 0;
for (port = 0; port < ocelot->num_phys_ports; port++) { for (port = 0; port < ocelot->num_phys_ports; port++) {
...@@ -1617,10 +1620,9 @@ void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot) ...@@ -1617,10 +1620,9 @@ void ocelot_apply_bridge_fwd_mask(struct ocelot *ocelot)
mask = GENMASK(ocelot->num_phys_ports - 1, 0); mask = GENMASK(ocelot->num_phys_ports - 1, 0);
mask &= ~cpu_fwd_mask; mask &= ~cpu_fwd_mask;
} else if (ocelot_port->bridge) { } else if (ocelot_port->bridge) {
struct net_device *bridge = ocelot_port->bridge;
struct net_device *bond = ocelot_port->bond; 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 |= cpu_fwd_mask;
mask &= ~BIT(port); mask &= ~BIT(port);
if (bond) { if (bond) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment