[net-next,2/3] net: dsa: mv88e6xxx: change default return of mv88e6xxx_port_bridge_flags

Message ID 20221205185908.217520-3-netdev@kapio-technology.com
State New
Headers
Series mv88e6xxx: Add MAB offload support |

Commit Message

Hans Schultz Dec. 5, 2022, 6:59 p.m. UTC
  The default return value -EOPNOTSUPP of mv88e6xxx_port_bridge_flags()
came from the return value of the DSA method port_egress_floods() in
commit 4f85901f0063 ("net: dsa: mv88e6xxx: add support for bridge flags"),
but the DSA API was changed in commit a8b659e7ff75 ("net: dsa: act as
passthrough for bridge port flags"), resulting in the return value
-EOPNOTSUPP not being valid anymore.

Signed-off-by: Hans J. Schultz <netdev@kapio-technology.com>
---
 drivers/net/dsa/mv88e6xxx/chip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Ido Schimmel Dec. 6, 2022, 12:30 p.m. UTC | #1
On Mon, Dec 05, 2022 at 07:59:07PM +0100, Hans J. Schultz wrote:
> The default return value -EOPNOTSUPP of mv88e6xxx_port_bridge_flags()
> came from the return value of the DSA method port_egress_floods() in
> commit 4f85901f0063 ("net: dsa: mv88e6xxx: add support for bridge flags"),
> but the DSA API was changed in commit a8b659e7ff75 ("net: dsa: act as
> passthrough for bridge port flags"), resulting in the return value
> -EOPNOTSUPP not being valid anymore.

The commit message needs to explain the motivation for the change and
why the change is not a bug fix / safe. I guess the motivation is the
next patch where a change in the MAB flag cannot fail and therefore it
has no reason to reset the 'err' variable. The change is only safe if
upper layers only invoke the operation when supported bridge port flags
are changed. That is, the default error code is never used.
  

Patch

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index ccfa4751d3b7..66d7eae24ce0 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -6543,7 +6543,7 @@  static int mv88e6xxx_port_bridge_flags(struct dsa_switch *ds, int port,
 				       struct netlink_ext_ack *extack)
 {
 	struct mv88e6xxx_chip *chip = ds->priv;
-	int err = -EOPNOTSUPP;
+	int err = 0;
 
 	mv88e6xxx_reg_lock(chip);