The LAN8700, LAN8710, LAN8720 is a product of the SMSC company.
Microchip acquired SMSC in August 2012.
The LAN8700 is a legacy product for Microchip and they will not update
anything about it. So, even if Microchip know about HW bug, then there
is no chance to have Errata sheet or any new documents about LAN8700.
Long time ago, I worked on a custom device with a PHY of the same family.
Errata sheet existed but was only available by signing a NDA. So I simply
wondered whether this changed since SMSC is now Microchip or if they keep
it still so covered...
I propose following comment for the lan87xx_read_status():
/*
* The LAN87xx suffers from rare absence of the ENERGYON-bit when
Ethernet cable
* plugs in while LAN87xx is in Energy Detect Power-Down mode. This
leads to
* unstable detection of plugging in Ethernet cable.
* This workaround disables Energy Detect Power-Down mode and waiting for
* response on link pulses to detect presence of plugged Ethernet cable.
* The Energy Detect Power-Down mode enabled again in the end of
procedure to
* save approximately 220 mW of power if cable is unplugged.
*/
Nice. Only one nitpick: ... _is_ enabled again...