]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: dsa: fix bridge support for drivers without port_bridge_flags callback
authorOleksij Rempel <o.rempel@pengutronix.de>
Wed, 21 Apr 2021 13:05:40 +0000 (15:05 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Apr 2021 17:47:27 +0000 (10:47 -0700)
Starting with patch:
a8b659e7ff75 ("net: dsa: act as passthrough for bridge port flags")

drivers without "port_bridge_flags" callback will fail to join the bridge.
Looking at the code, -EOPNOTSUPP seems to be the proper return value,
which makes at least microchip and atheros switches work again.

Fixes: 5961d6a12c13 ("net: dsa: inherit the actual bridge port flags at join time")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/port.c

index 01e30264b25be10f3cbb571c5ac1335b1515cc0e..6379d66a6bb3258846233c11bd7c60446828b870 100644 (file)
@@ -550,7 +550,7 @@ int dsa_port_bridge_flags(const struct dsa_port *dp,
        struct dsa_switch *ds = dp->ds;
 
        if (!ds->ops->port_bridge_flags)
-               return -EINVAL;
+               return -EOPNOTSUPP;
 
        return ds->ops->port_bridge_flags(ds, dp->index, flags, extack);
 }