arch/arm/stm32h5: fail the PHY initialization when the reset times out.

The driver has the same code as the one of the STM32H7. When the PHY did
not clear the reset bit in time, stm32_phyinit() returned the result of
the last MDIO read. The bus reads all ones when the PHY does not answer
yet, and that read succeeds, so the function returned OK and the driver
went on with its default of 10 Mbps and half duplex, while the PHY could
negotiate 100 Mbps and full duplex.

Return -ETIMEDOUT, so that bringing the interface up fails and the
failure is not hidden.

It builds for nucleo-h563zi:netnsh, but it was not tested on hardware.

Signed-off-by: Daniel P. Carvalho <danieloak@gmail.com>
Assisted-by: Claude:claude-sonnet-5
This commit is contained in:
Daniel P. Carvalho 2026-09-21 19:38:27 -03:00 • committed by Michal Lenc
parent a4c608c591
commit 87f2744e6c

View file

@ -3230,7 +3230,7 @@ static int stm32_phyinit(struct stm32_ethmac_s *priv)
if (to <= 0)
{
nerr("ERROR: Phy reset timeout\n");
return ret;
return -ETIMEDOUT;
}
else
{