net: marvell: prestera: fix brige port operation
authorVolodymyr Mytnyk <vmytnyk@marvell.com>
Thu, 18 Nov 2021 19:48:03 +0000 (21:48 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Nov 2021 11:20:10 +0000 (11:20 +0000)
Return NOTIFY_DONE (dont't care) for switchdev notifications
that prestera driver don't know how to handle them.

With introduction of SWITCHDEV_BRPORT_[UN]OFFLOADED switchdev
events, the driver rejects adding swport to bridge operation
which is handled by prestera_bridge_port_join() func. The root
cause of this is that prestera driver returns error (EOPNOTSUPP)
in prestera_switchdev_blk_event() handler for unknown swdev
events. This causes switchdev_bridge_port_offload() to fail
when adding port to bridge in prestera_bridge_port_join().

Fixes: 957e2235e526 ("net: make switchdev_bridge_port_{,unoffload} loosely coupled with the bridge")
Signed-off-by: Volodymyr Mytnyk <vmytnyk@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/prestera/prestera_switchdev.c

index 3ce6ccd0f53942e62db072a350b46dbbc6c0155d..79f2fca0d412d032f2e51e4e7f7298ec620c1b40 100644 (file)
@@ -1124,7 +1124,7 @@ static int prestera_switchdev_blk_event(struct notifier_block *unused,
                                                     prestera_port_obj_attr_set);
                break;
        default:
-               err = -EOPNOTSUPP;
+               return NOTIFY_DONE;
        }
 
        return notifier_from_errno(err);