Ethernet Cold Issue / Incorrect Address

Hello, I have been testing my application based on the BeagleBone Black with an industrial part swap from CircuitCo. My product has to be able to function in cold and hot environments because it is a telemetry product that is typically installed outdoors. When testing near the lower limits of the temperature ranges advertised by all components ( testing at -30C, all components rated to -40C) I noticed that a large percentage of the time the devices would boot up unable to communicate via Ethernet. When discussing this on the irc channel it was identified as the Ethernet transceiver coming up with the wrong address a patch for the kernel that was in a newer version of the BeagleBone kernel that applied to this issue. I applied the patch to my kernel, and saw positive results, a much smaller group of the boards was unable to communicate via Ethernet. However, there was still about a 13% failure rate. I have looked through the logs, and have seen many occasions where the issue was caught and handled correctly by the patch. The remaining failures look identical in the logs when I grep for mdio. Does anyone have any idea what the problem may be?

This is the patch I applied to our kernel: https://github.com/RobertCNelson/linux-dev/blob/master/patches/beaglebone/phy/0003-cpsw-search-for-phy.patch