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.pack...@alliedtelesis.co.nz>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
---

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

Reply via email to