[PATCH u-boot 5/5] net: aspeednic: Do not fill in a random MAC address

Cyril Bur cyrilbur at gmail.com
Tue Mar 15 11:11:40 AEDT 2016


On Fri, 11 Mar 2016 12:40:44 -0600
OpenBMC Patches <openbmc-patches at stwcx.xyz> wrote:

> From: "Milton D. Miller II" <miltonm at us.ibm.com>
> 

Hi Milton,

Series looks nice.

One question about this patch, should you also have removed the call to
aspeednick_write_hwaddr() from aspeednic_initialize() since the eth layer will
do it for you? Not a bit deal at all, the eth layer will also detect that it's
been done and just skip it?



> Do not check the u-boot environemnt or fill in a random address
> in the write_hwaddr hook, instead rely on the framework to do so.
> 
> The doc/README.ethaddr specifically states that random addresses
> are only to be assigned as part of a emergency such as a netboot
> recovery command.
> 
> The upstream commit created a config variable to assign a
> random mac when none is set leaving it zero and that has now
> been backported.
> 
> Note: The hardware address is reset to 0 as part of the ethernet
> reset performed at boot.  If no valid MAC address is found in
> the environment the hardware will contain zeros and the operating
> system will assign a valid random MAC address if u-boot is
> configured not to.
> 
> The net effect is an attempt to use the network will result in
> the ethernet address not set warning being printed if the ethaddr
> variable is not set, and a warning iwth the random mac address
> if the config is set.  If a valid ethernet address is set
> in the environment it will be programmed in the hardware and
> used by the operating system.
> 
> Signed-off-by: Milton Miller <miltonm at us.ibm.com>
> ---
>  drivers/net/aspeednic.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/net/aspeednic.c b/drivers/net/aspeednic.c
> index 841df8b..e80561f 100644
> --- a/drivers/net/aspeednic.c
> +++ b/drivers/net/aspeednic.c
> @@ -1363,10 +1363,6 @@ static void aspeednic_halt(struct eth_device* dev)
>  
>  static int aspeednic_write_hwaddr(struct eth_device* dev)
>  {
> -  if (!eth_getenv_enetaddr_by_index("eth", 0, dev->enetaddr)) {
> -    eth_random_enetaddr(dev->enetaddr);
> -  }
> -
>    OUTL(dev, ((dev->enetaddr[2] << 24) | (dev->enetaddr[3] << 16)
>               | (dev->enetaddr[4] << 8) | dev->enetaddr[5]), MAC_LADR_REG);
>    OUTL(dev, ((dev->enetaddr[0] << 8) | dev->enetaddr[1]), MAC_MADR_REG);



More information about the openbmc mailing list