I reworked the commit message because I noticed the upstream Linux kernel has a difference with the Raspberry Pi fork of the kernel regarding the algorithm used to determine the MAC address of the smsc95xx. There is no smsc95xx.macaddr in the upstream kernel, and using the upstream kernel is actually the real use case for the patch.
I'm now wondering whether some users are using the module parameter smsc95xx.macaddr of the Raspberry Pi fork of the kernel to try to change the MAC, and put one which is not the factory default? Does this use case exists? If this is the case, the current algorithm in the forked kernel would mean that, the FDT-provided MAC would have priority over anything set in the module parameter. This is already the case anyway when people give to the forked kernel the firmware-provided FDT (smsc95xx.macaddr is ignored). So this patch aligns behaviors. But we should be aware that applying this patch would change the behavior in the following situation (all conditions need to be true): - Forked kernel is used - Fresh FDT (not firmware one) is provided to the kernel - Custom (not factory) MAC was set in smsc95xx.macaddr parameter Martin