On Sat, Apr 27, 2019 at 01:06:41AM +0200, Petr Štetiar wrote: > of_get_mac_address now uses NVMEM under the hood, so it's not necessary > to call it manually anymore. > > Signed-off-by: Petr Štetiar <ynezz@xxxxxxx> > --- > drivers/net/ethernet/cadence/macb_main.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c > index 3da2795..1b98bc8 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -4172,16 +4172,10 @@ static int macb_probe(struct platform_device *pdev) > bp->rx_intr_mask |= MACB_BIT(RXUBR); > > mac = of_get_mac_address(np); > - if (mac) { > + if (mac) > ether_addr_copy(bp->dev->dev_addr, mac); > - } else { > - err = nvmem_get_mac_address(&pdev->dev, bp->dev->dev_addr); > - if (err) { > - if (err == -EPROBE_DEFER) > - goto err_out_free_netdev; > - macb_get_hwaddr(bp); > - } > - } Here we have an ordering problem. The current code looks for NVMEM after local-mac-address and mac-address. You change will make it look for NVMEM first. Andrew