Andrew Lunn <andrew@xxxxxxx> [2019-04-28 23:36:40]: Hi Andrew, > > so if I understand this correctly, it probably means, that this approach with > > modified of_get_mac_address is dead end as current of_get_mac_address users > > don't expect and handle possible -EPROBE_DEFER error, so I would need to > > change all the current users, which is nonsense. > > I would not say it is dead, it just needs a bit more work. ok, that's good news, I've probably just misunderstood your concern about the random MAC address in case when platform/nvmem subsystem returns -EPROBE_DEFER. > The current users should always be checking for a NULL pointer. You > just need to change that to !IS_ERR(). You can then return > ERR_PTR(-PROBE_DEFER) from the NVMEM operation. I'm more then happy to address this in v3, but I'm still curious, what is it going to change in the current state of the tree. My understanding of -PROBE_DEFER is, that it needs to be propagated back from the driver's probe callback/hook to the upper device/driver subsystem in order to be moved to the list of pending drivers and considered for probe later again. This is not going to happen in any of the current drivers, thus it will probably still always result in random MAC address in case of -EPROBE_DEFER error from the nvmem subsystem. -- ynezz