diff --git a/drivers/net/fsl_enetc_mdio.c b/drivers/net/fsl_enetc_mdio.c index b4463a58a5..47257a6cf6 100644 --- a/drivers/net/fsl_enetc_mdio.c +++ b/drivers/net/fsl_enetc_mdio.c @@ -17,8 +17,13 @@ static void enetc_mdio_wait_bsy(struct enetc_mdio_priv *priv) { - while (enetc_read(priv, ENETC_MDIO_CFG) & ENETC_EMDIO_CFG_BSY) + int to = 10000; + + while ((enetc_read(priv, ENETC_MDIO_CFG) & ENETC_EMDIO_CFG_BSY) && + --to) cpu_relax(); + if (!to) + printf("T"); } int enetc_mdio_read_priv(struct enetc_mdio_priv *priv, int addr, int devad,