All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/3] net: eth-uclass: Write MAC address to hardware after probe
Date: Tue, 16 Apr 2019 10:21:48 +0200	[thread overview]
Message-ID: <20190416082148.GC10907@ulmo> (raw)
In-Reply-To: <CANr=Z=aqQuw+ywQYhL7vGKh94tKZgdBP+bQqinZ3gijg6FkY1A@mail.gmail.com>

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.reding@gmail.com> wrote:
> >
> > From: Thierry Reding <treding@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 <treding@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 at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190416/a61fef90/attachment.sig>

  reply	other threads:[~2019-04-16  8:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-15  9:10 [U-Boot] [PATCH 1/3] dm: core: Add dev_read_bytes() Thierry Reding
2019-04-15  9:10 ` [U-Boot] [PATCH 2/3] net: eth-uclass: Write MAC address to hardware after probe Thierry Reding
2019-04-15 21:24   ` Joe Hershberger
2019-04-16  8:21     ` Thierry Reding [this message]
2019-04-15  9:10 ` [U-Boot] [PATCH 3/3] net: eth-uclass: Support device tree MAC addresses Thierry Reding
2019-04-15 21:26   ` Joe Hershberger
2019-04-15 21:21 ` [U-Boot] [PATCH 1/3] dm: core: Add dev_read_bytes() Joe Hershberger
2019-04-16  8:06   ` Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190416082148.GC10907@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.