Files
infix/patches/linux/6.18.39/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch
T

37 lines
1.5 KiB
Diff

From 1667410f54c1647cc3b9a00d4fe9ed61a3936f0b Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Thu, 16 Jan 2025 12:35:12 +0100
Subject: [PATCH 26/50] net: dsa: mv88e6xxx: collapse disabled state into
blocking
This patch changes the behavior of switchcore ports wrt. the port state.
Instead of disabling the port, the driver now treats the disabled state
the same as the blocking and listening state.
On this particular type of device the disabled state means no traffic is
passed in or out. This interferes with protocols that perform any type
of link qualification. E.g., an LACP link aggregate (bond) used as a
bridge port with member ports from an mv88e6xxx switch core. Without
this patch, the bond is set to 'state disabled'. which is offloaded to
each member port, preventing LACPDUs from passing through to qualify the
link and become active.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
---
drivers/net/dsa/mv88e6xxx/port.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index e1fee09eae2f..e28fdd21de38 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -793,8 +793,6 @@ int mv88e6xxx_port_set_state(struct mv88e6xxx_chip *chip, int port, u8 state)
switch (state) {
case BR_STATE_DISABLED:
- state = MV88E6XXX_PORT_CTL0_STATE_DISABLED;
- break;
case BR_STATE_BLOCKING:
case BR_STATE_LISTENING:
state = MV88E6XXX_PORT_CTL0_STATE_BLOCKING;