On Mon, Apr 15, 2019 at 09:24:00PM +0000, Joe Hershberger wrote:
> On Mon, Apr 15, 2019 at 4:11 AM Thierry Reding <thierry.red...@gmail.com> 
> wrote:
> >
> > From: Thierry Reding <tred...@nvidia.com>
> >
> > In order for the device to use the proper MAC address, which can have
> > been configured in the environment prior to the device being registered,
> > ensure that the MAC address is written after the device has been probed.
> > For devices that are registered before the network stack is initialized,
> > this is already done during eth_initialize(). If the Ethernet device is
> > on a bus that is not initialized on early boot, such as PCI, the device
> > is not available at the time eth_initialize() is called, so we need the
> > MAC address programming to also happen after probe.
> 
> I would expect to also see a removal of the call in eth_initialize,
> right? Why do it both places?

I'm hesitant to do that. eth_initialize() happens after eth_post_probe()
for devices that are on a fixed bus and there may be code setting up the
MAC address that runs between eth_post_probe() and eth_initialize(). If
we don't write the MAC address down to hardware in eth_initialize(), we
may end up regressing those boards.

Thierry

> > Signed-off-by: Thierry Reding <tred...@nvidia.com>
> > ---
> >  net/eth-uclass.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/net/eth-uclass.c b/net/eth-uclass.c
> > index 2ef20df19203..4225aabf1fa1 100644
> > --- a/net/eth-uclass.c
> > +++ b/net/eth-uclass.c
> > @@ -524,6 +524,8 @@ static int eth_post_probe(struct udevice *dev)
> >  #endif
> >         }
> >
> > +       eth_write_hwaddr(dev);
> > +
> >         return 0;
> >  }
> >
> > --
> > 2.21.0
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot@lists.denx.de
> > https://lists.denx.de/listinfo/u-boot

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to