[U-Boot] Broken H3 EMAC Driver

Hello,
Trying to add support for H3 EMAC driver.
http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/261544
It was working well until commit " b733c278d7adc48c71bd06faf359db3d9e385185" was introduced.
net: phy: Handle phy_startup() error codes properly
- genphy_update_link(phydev); - genphy_parse_link(phydev); + int ret; - return 0; + ret = genphy_update_link(phydev); + if (ret) + return ret;
H3 based SoC's has an internal PHY which is different from having on board external PHY and its operations doesn't depends upon the success of normal PHY auto negotiation(Driver works well even if there is a PHY auto negotiation TIMEOUT).
Please, let me know if it is worth reverting particular part of this patch in order to make H3 EMAC driver work.
Thanks, Amit.

Hi,
On 30.5.2016 16:12, Amit Tomer wrote:
Hello,
Trying to add support for H3 EMAC driver.
http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/261544
It was working well until commit " b733c278d7adc48c71bd06faf359db3d9e385185" was introduced.
net: phy: Handle phy_startup() error codes properly
genphy_update_link(phydev);
genphy_parse_link(phydev);
int ret;
return 0;
ret = genphy_update_link(phydev);
if (ret)
return ret;
H3 based SoC's has an internal PHY which is different from having on board external PHY and its operations doesn't depends upon the success of normal PHY auto negotiation(Driver works well even if there is a PHY auto negotiation TIMEOUT).
It looks like that your driver doesn't use phy code correctly. My patch just handles errors which are reported by the core. If you have any internal phy you should consider to create your own phy driver to handle it or remove phy code from your driver if phy is already setup.
Thanks, Michal
participants (2)
-
Amit Tomer
-
Michal Simek