[PATCH v3 1/3] net: dsa: mv88e6xxx: Don't force link when using in-band-status

From: Chris Packham
Date: Mon Oct 19 2020 - 23:46:13 EST


When a port is configured with 'managed = "in-band-status"' don't force
the link up, the switch MAC will detect the link status correctly.

Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
---
Changes in v3:
- None
Changes in v2:
- Add review from Andrew

drivers/net/dsa/mv88e6xxx/chip.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index f0dbc05e30a4..1ef392ee52c5 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -767,8 +767,11 @@ static void mv88e6xxx_mac_link_up(struct dsa_switch *ds, int port,
goto error;
}

- if (ops->port_set_link)
- err = ops->port_set_link(chip, port, LINK_FORCED_UP);
+ if (ops->port_set_link) {
+ int link = mode == MLO_AN_INBAND ? LINK_UNFORCED : LINK_FORCED_UP;
+
+ err = ops->port_set_link(chip, port, link);
+ }
}
error:
mv88e6xxx_reg_unlock(chip);
--
2.28.0