[U-Boot] [PATCH 2/2] mvgbe: fix network device indices

Mike Frysinger
2011-11-04T23:06:53Z

On Friday 04 November 2011 02:29:24 Prafulla Wadaskar wrote:
> Mike Frysinger:
> > On Thursday 03 November 2011 19:02:26 Michael Walle wrote:
> > > Am Donnerstag 03 November 2011, 19:10:57 schrieb Mike Frysinger:
> > > > On Thursday 27 October 2011 17:31:36 Michael Walle wrote:
> > > > > --- a/drivers/net/mvgbe.c
> > > > > +++ b/drivers/net/mvgbe.c
> > > > >
> > > > > + /* Extract the MAC address from the environment */
> > > > > + while (!eth_getenv_enetaddr_by_index("eth", dev-index,
> > > > > + dev->enetaddr)) {
> > > > >
> > > > > /* Generate Private MAC addr if not set */
> > > > > dev->enetaddr[0] = 0x02;
> > > > > dev->enetaddr[1] = 0x50;
> > > >
> > > > this is wrong. net drivers should not be touching the env
> > > > at all. please fix your driver to not do that first.
> > >
> > > i guess this whole mac randomization/generation code belongs to board
> > > specific files.
> >
> > correct
>
> We can move mac randomization code to the board specific files, but it will
> be needed for each board and there will be code duplication.

there's two issues here. (1) no net driver should touch the env. this is why
we have the dev->enetaddr field in the first place. (2) drivers should be
seeding dev->enetaddr with values from storage directly related to it. so for
parts that have dedicated EEPROM interfaces, reading the MAC out of that
storage makes sense. if no storage like that exists, then it is up to the
board to figure out where to find the address.

that means this could should be moved to the boards file.

> How about supporting standalone mac randomization feature?

i think Wolfgang would be opposed to that. mac randomization should not be
the first line of defense. your board is supposed to be managing this sanely.
from the mvgbe code, it seems that this is not the case and these boards are a
bit insane.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111104/dfabf98a/attachment.pgp