> The kernel starts booting normally and then hangs like this when two > Ethernet cables are connected to the KSZ8863 switch: > http://dark-code.bulix.org/3xexu5-507563 > > This has the lock detection, inside kernel hacking, enabled.
Maybe turn on all the hung-task debug and magic key support. With magic key, you might be able to get a backtrace of where it is spinning. Maybe also add #define DEBUG at the top of drivers/net/phy/phy.c. Does it hang during a PHY state transition? Maybe both PHYs are interrupting at the same time, and the interrupt code is broken? Maybe look at the switch driver and see if there is any code which is executed on link up. Put some printk() in there. If you PHYs are using interrupt mode, maybe disable that and use polling. Do you know if this ever worked properly before? If you know when it did work, you can do a git bisect to narrow it down to the one patch which broke it.. Basically, at the moment, you just need to try lots of things, to narrow it down. Andrew