summaryrefslogtreecommitdiff
path: root/drivers/net/dsa/mv88e6xxx/port.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/port.c')
-rw-r--r--drivers/net/dsa/mv88e6xxx/port.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index 8128dc607cf4..a574cff80826 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -53,6 +53,10 @@ int mv88e6185_port_set_pause(struct mv88e6xxx_chip *chip, int port,
else
reg &= ~MV88E6XXX_PORT_STS_MY_PAUSE;
+ if (reg & MV88E6XXX_PORT_MAC_CTL_FORCE_LINK &&
+ reg & MV88E6XXX_PORT_MAC_CTL_LINK_UP)
+ dev_err(chip->dev, "p%d: %s with port up\n", port, __func__);
+
return mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_STS, reg);
}
@@ -95,6 +99,10 @@ static int mv88e6xxx_port_set_rgmii_delay(struct mv88e6xxx_chip *chip, int port,
return 0;
}
+ if (reg & MV88E6XXX_PORT_MAC_CTL_FORCE_LINK &&
+ reg & MV88E6XXX_PORT_MAC_CTL_LINK_UP)
+ dev_err(chip->dev, "p%d: %s with port up\n", port, __func__);
+
err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_MAC_CTL, reg);
if (err)
return err;
@@ -234,6 +242,10 @@ static int mv88e6xxx_port_set_speed_duplex(struct mv88e6xxx_chip *chip,
}
reg |= ctrl;
+ if (reg & MV88E6XXX_PORT_MAC_CTL_FORCE_LINK &&
+ reg & MV88E6XXX_PORT_MAC_CTL_LINK_UP)
+ dev_err(chip->dev, "p%d: %s with port up\n", port, __func__);
+
err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_MAC_CTL, reg);
if (err)
return err;