Hello Brian, On Tue, May 06, 2014 at 09:44:34AM -0700, Brian Lilly wrote: > With commit a264b981f2c76e281ef27e7232774bf6c54ec865 we're having eth0 > come up, then brought right back down with an MDIO rx timeout moments > after. Adding back in the removed code keeps the interface alive and > it's working afterward without trouble. I've tested the re-inserted > code in 3.12, 3.14 without issue on our boards. So you can reliably trigger that problem? You're just doing
ifconfig eth0 1.2.3.4 up (or equivalent) and the interface goes down without further interference with the above mentioned commit? The exact error you're seeing is MDIO read timeout (with some prefix saying something about fec and eth0 I think)? This error is also present with a264b981f2 reverted, just doesn't affect eth0 being functional? Does the timeout always happen, or only on specific addresses? This is not a proper fix, but does it help to increment FEC_MII_TIMEOUT? > Is there something else that can be done to prevent the MDIO timeouts? > We are using basically the same schematic for networking as the > imx28evk. Hard to say, but assuming it works just fine on the imx28evk for you, too, there seems to be some hardware difference that makes your machine fail. (That doesn't mean it's not fixable in software.) I don't know if a mdio read error is intended to make the device go down, maybe one the the netdev guys can answer that. Assuming that it's not intended, instrument the code, find out how that timeout makes your device go down and find the wrong branch. I'd start with adding stackdumps when the mdio timeout happens and when fec_enet_start_xmit is called with fep->link == 0. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/