On Fri, 2012-02-03 at 11:09 +0100, Hector Palacios wrote: > Hi Steve, > > On 02/02/2012 07:10 PM, Steven Rostedt wrote: > > That said, as I think I know the problem, can you try this patch to see > > if it fixes things. This patch is a TOTAL HACK! Not for inclusion. It's > > racy and buggy. I didn't even compile it because I couldn't get the > > configs to enable FEC, and I was too lazy to set up my cross compiler to > > test it. ;-) > > Yes, this hack fixes things as long as I boot with the Ethernet cable plugged in. In > this case the autonegotiation is launched and fec_enet_start_xmit() waits until it > completes. From then on, the hack never triggers again (comp_set is 0) and > disconnecting-reconnecting the cable or asking for a new DHCP address seems to work > normally. > > If I boot with the cable disconnected the driver seems to be trapped at the > wait_for_completion() and connecting the cable later simply doesn't allow the > autonegotiation to complete. I said it was buggy ;-) Well the good news is that we know where the problem is. The bad news is, I have no idea how to fix it, as it seems specific to this driver. And this bug may be a bug in mainline. If we can prove that, then we can push the driver writers to fix it. If you can add the patch that Uwe sent you and see if you can cause mainline to lock up with it, then we can show that this is a mainline bug. Basically, if you have CONFIG_PREEMPT enabled, and set ksoftirqd to an RT task, then it may exhibit the same behavior. Oh! What happens if you boot the board with a mainline kernel without connecting the cable? Can you see if ksoftirqd is running 100% of CPU? If you say that when the cable is out, it can not complete the autonegotiate, which means that it should go into the loop I shown before. But as ksoftirqd is a normal task (non RT) you may not have noticed the issue. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html