Hi Andreas, On Tue, Nov 20, 2018 at 12:39:51PM +0100, Andreas Schwab wrote: > On Nov 19 2018, Andrew Lunn wrote: > > > I still don't see why that would cause a hang. > > [ 996.370000] [] mutex_lock+0x22/0x2a > [ 996.380000] [] mdiobus_read+0x36/0x60 > [ 996.380000] [] vsc85xx_config_init+0x4c/0x1e2 > > vsc85xx_config_init is calling mdiobus_read while holding the mdio_lock. > Thanks for reporting the bug. However, it could be nice the next time you report a bug to give as much info as you can, such as the device you're using. Architecture of your platform (or the board itself if it's a DT in the Linux kernel), the MAC and the PHY IPs (the Microsemi PHY driver now supports 6 different PHYs that do not work the same way so I can't guess the one you're using), they all matter and help to understand your bug. Also, if you could give a full bootlog of the kernel and how it's possible to reproduce your issue (.config of your kernel, on which commit on which branch you built your kernel). Otherwise, you might not have any answer or considerably slow down the bug identifying and fixing processes, which is annoying to you, the users, the developers and the maintainers: a lot of upset people :) Could you try something please? I'm pretty sure I found an issue (I don't know if it's fixing your issue or not, but it might be). Please replace in vsc85xx_default_config() the phy_read and phy_write by respectively __phy_read and __phy_write (note the __ in front). Let me know if you need help with this. Thanks, Quentin