beaglebone phy strapping error on A3

Without the patches, with PREEMPT building off of the Arago
v3.2-staging kernel branch, at boot, my bone won't accept DHCP offers
from the dhcp server. Unplugging and replugging the Ethernet cable
resets the network subsystem (using netplugd on Debian) and then
the bone will accept DHCP offers and networking works.

Boot output:
https://raw.github.com/gist/2579590/e3a2a99e96ceff316bc6afc7bd3704e278392f51/boot.dmesg

Using wireshark, I see my DHCP server offering an IP address multiple
times to the bone, to no avail. The bone is capable of performing
the DHCP discover, multiple times, it just won't accept the offer. Upon
cable unplug and replug on the bone, then DHCP sequence goes as
expected.

With Koen's patches, I get the same operation. :frowning:

Changing from PREEMPT to PREEMPT_NONE causes the bone to accept
DHCP offers as expected on any bootable 3.2 kernel I've tried.

Also, if I set the kernel command line parameters to include "ip=dhcp",
the PREEMPT kernels will obtain DHCP addresses properly. If I set
"ip=none", the bone won't. I normally have "ip=none" in my kernel
parameters as I boot off SD card, not NFS. Does that mean anything to
anyone?

Is anyone else running Debian Squeeze armel on their bone that can test
this? Could that be somehow influencing the fact that my kernels
actually boot without oops and I can eventually get Ethernet working
with a cable unplug/replug? My GCC is 4.4.5 from Emdebian toolchain.

How can I be of more help?

-Andrew

The cable trick doesn't change anything over here. (BTW, the link is continuously being reset (after every timeout)).

What I've seen thus far is that it looks like there is no rx interrupt generated (At least he handler is not being called).
Combined with the oops caused by the irqs being disabled this seems to indicate that at some point a race exists where an interrupt is not (re?)enabled where is should?

-- Bas