--- /dev/null
+From 68f5c12abbc9b6f8c5eea16c62f8b7be70793163 Mon Sep 17 00:00:00 2001
+From: Vladimir Oltean <vladimir.oltean@nxp.com>
+Date: Wed, 21 Apr 2021 21:44:20 +0300
+Subject: net: bridge: fix error in br_multicast_add_port when CONFIG_NET_SWITCHDEV=n
+
+From: Vladimir Oltean <vladimir.oltean@nxp.com>
+
+commit 68f5c12abbc9b6f8c5eea16c62f8b7be70793163 upstream.
+
+When CONFIG_NET_SWITCHDEV is disabled, the shim for switchdev_port_attr_set
+inside br_mc_disabled_update returns -EOPNOTSUPP. This is not caught,
+and propagated to the caller of br_multicast_add_port, preventing ports
+from joining the bridge.
+
+Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Fixes: ae1ea84b33da ("net: bridge: propagate error code and extack from br_mc_disabled_update")
+Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/bridge/br_multicast.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/bridge/br_multicast.c
++++ b/net/bridge/br_multicast.c
+@@ -1625,7 +1625,7 @@ int br_multicast_add_port(struct net_bri
+ br_opt_get(port->br,
+ BROPT_MULTICAST_ENABLED),
+ NULL);
+- if (err)
++ if (err && err != -EOPNOTSUPP)
+ return err;
+
+ port->mcast_stats = netdev_alloc_pcpu_stats(struct bridge_mcast_stats);