> Commit 79ad54400932d6484178a372fb3b659e3437473b broke the MAC > address programming. Fix this by using the method from Linux' > smsc95xx_set_mac_address(). > > Signed-off-by: Wolfgang Grandegger <w...@denx.de> > Cc: Marek Vasut <marek.va...@gmail.com> > Cc: Simon Glass <s...@chromium.org> > --- > drivers/usb/eth/smsc95xx.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c > index 7ee4f87..eb529f1 100644 > --- a/drivers/usb/eth/smsc95xx.c > +++ b/drivers/usb/eth/smsc95xx.c > @@ -372,13 +372,14 @@ static int smsc95xx_init_mac_address(struct > eth_device *eth, static int smsc95xx_write_hwaddr(struct eth_device *eth) > { > struct ueth_data *dev = (struct ueth_data *)eth->priv; > - u32 addr_lo, addr_hi; > + u32 addr_lo = eth->enetaddr[0] | eth->enetaddr[1] << 8 | > + eth->enetaddr[2] << 16 | eth->enetaddr[3] << 24; > + u32 addr_hi = eth->enetaddr[4] | eth->enetaddr[5] << 8; > int ret; > > /* set hardware address */ > debug("** %s()\n", __func__); > - addr_lo = cpu_to_le32(*eth->enetaddr); > - addr_hi = cpu_to_le16(*((u16 *)(eth->enetaddr + 4))); > + > ret = smsc95xx_write_reg(dev, ADDRL, addr_lo); > if (ret < 0) { > debug("Failed to write ADDRL: %d\n", ret);
Hey, didn't Mike Frysinger send similar patch yesterday? Also, do you have the hardware? If so, that's good, we know you can provide tested fix. Mike, are you good with using this fix instead or can you two negotiate? M _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot