Heiko Schocher wrote:

Hi Heiko,

> 
> Signed-off-by: Heiko Schocher <h...@denx.de>
> ---
>  drivers/net/fec_mxc.c |   15 +++++++++++----
>  1 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index 5af9cdb..b5245ec 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -749,11 +749,18 @@ static int fec_probe(bd_t *bd)
> 
>       eth_register(edev);
> 
> -     if (fec_get_hwaddr(edev, ethaddr) == 0) {
> -             printf("got MAC address from EEPROM: %pM\n", ethaddr);
> -             memcpy(edev->enetaddr, ethaddr, 6);
> -             fec_set_hwaddr(edev);
> +     if (!eth_getenv_enetaddr("ethaddr", ethaddr)) {
> +             /* "ethaddr" is not set in the environment */
> +             if (fec_get_hwaddr(edev, ethaddr) == 0) {
> +                     printf("got MAC address from EEPROM: %pM\n", ethaddr);
> +                     eth_setenv_enetaddr("ethaddr", ethaddr);
> +             } else {
> +                     printf ("no MAC found\n");
> +                     return -1;
> +             }
>       }
> +     memcpy(edev->enetaddr, ethaddr, 6);
> +     fec_set_hwaddr(edev);
> 
>       return 0;
>  }

As I understood Ben's comment on my last patch, the driver must not
touch any environment variable, that is it must not call any
getenv/setenv function.

See http://www.mail-archive.com/u-boot@lists.denx.de/msg28329.html

Regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: off...@denx.de
=====================================================================
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to