Hi @bobhi009 ,
I find your ethernetif_phy_init API already add the timeout count, do you test it, if you didn't plug the network cable, debug the code, whether it can go over through the while, then do the other module initializing? Or it still stay in the ethernetif_phy_init?
In fact, just need to add the timeout, when the time is reached, and the network cable still didn't plugin, just go over that code, and don't do other enether coding.
Please debug your code and test it again.
Best Regards,
Kerry