[PATCH net] net: ixp4xx_eth: handle probe deferral from of_get_mac_address()

Jakub Kicinski kuba at kernel.org
Mon Aug 31 17:08:58 PDT 2026


On Wed, 26 Aug 2026 18:36:34 -0700 Rosen Penev wrote:
> ixp4xx_of_get_platdata() returns NULL on failure, which the probe converts
> to -ENODEV, discarding the real cause of the failure. Return ERR_PTR()
> with the appropriate error so callers can distinguish cases such as
> missing DT properties (-EINVAL) and, importantly, handle -EPROBE_DEFER
> from of_get_mac_address().

Doesn't seem like this should be treated as a fix, AI says:

Can a device tree that actually reaches this new code path pass
dtbs_check? -EPROBE_DEFER out of of_get_mac_address() only comes from
the nvmem lookup:

net/core/of_net.c:of_get_mac_address() {
	...
	return of_get_mac_address_nvmem(np, addr);
}

which needs nvmem-cells and nvmem-cell-names = "mac-address" in the node.
Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml ends with
additionalProperties: false and pulls in ethernet-controller.yaml only via
allOf/$ref, re-listing just phy-mode, phy-handle and fixed-link. It never
lists nvmem-cells, nvmem-cell-names, mac-address or local-mac-address.

Should the binding gain those properties (or switch to
unevaluatedProperties: false) so the configuration this patch handles
can be described?


And if this goes to net-next there's a bunch of pre-existing
bugs in the area which will conflict, so frankly let's just leave 
this be.



More information about the linux-arm-kernel mailing list