I apologize that we did not write immediately,
the priority of this task for us has shifted a little.
We contacted Microchip and this issue was addressed by the chip design engineers.
The problem is with the driver.
The engineers at Microchip have provided a solution to this problem.
In short, it all boils down to the following:
PHY_POLL patch to lan78xx driver
Linux 4.9.x went through many changes in PHY library.
Some of the changes cause the lan78xx driver’s PHY interrupt to be incompatible.
The workaround is to switch to PHY polling.
The modification is one line in the lan78xx.c in the below.
in lan78xx_phy_init(),
phydev->irq = PHY_IGNORE_INTERRUPT;
to
phydev->irq = PHY_POLL;
After editing the driver, the chip works fine.
Stepan.