diff --git a/ports/stm32/eth.c b/ports/stm32/eth.c index 30f8a1014e..79165e1191 100644 --- a/ports/stm32/eth.c +++ b/ports/stm32/eth.c @@ -791,11 +791,10 @@ int eth_link_status(eth_t *self) { return 2; // link no-ip; } } else { - int s = eth_phy_read(0) | eth_phy_read(0x10) << 16; - if (s == 0) { - return 0; // link down + if (eth_phy_read(PHY_BSR) & PHY_BSR_LINK_STATUS) { + return 1; // link up } else { - return 1; // link join + return 0; // link down } } }