Re: [PATCH v2 3/4] net: macb: Drop nvmem_get_mac_address usage

From: Petr Åtetiar
Date: Mon Apr 29 2019 - 03:55:22 EST


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