Dear Daniel Hellstrom, In message <1274194143-8994-2-git-send-email-dan...@gaisler.com> you wrote: > Signed-off-by: Daniel Hellstrom <dan...@gaisler.com> > --- > drivers/net/greth.c | 14 ++++++++++++-- > 1 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/greth.c b/drivers/net/greth.c > index a1a88f9..143c773 100644 > --- a/drivers/net/greth.c > +++ b/drivers/net/greth.c > @@ -146,13 +146,23 @@ int greth_init(struct eth_device *dev, bd_t * bis) > printf("greth_init\n"); > #endif > > + /* Reset core */ > + GRETH_REGSAVE(®s->control, (GRETH_RESET | (greth->gb << 8) | > + (greth->sp << 7) | (greth->fd << 4))); > + > + /* Wait for Reset to complete */ > + while ( GRETH_REGLOAD(®s->control) & GRETH_RESET) ; > + > + GRETH_REGSAVE(®s->control, > + ((greth->gb << 8) | (greth->sp << 7) | (greth->fd << 4))); > + > if (!greth->rxbd_base) { > > /* allocate descriptors */ > greth->rxbd_base = (greth_bd *) > memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd)); > greth->txbd_base = (greth_bd *) > - memalign(0x1000, GRETH_RXBD_CNT * sizeof(greth_bd)); > + memalign(0x1000, GRETH_TXBD_CNT * sizeof(greth_bd));
This... > /* allocate buffers to all descriptors */ > greth->rxbuf_base = > @@ -185,7 +195,7 @@ int greth_init(struct eth_device *dev, bd_t * bis) > for (i = 0; i < GRETH_TXBD_CNT; i++) { > greth->txbd_base[i].addr = 0; > /* enable desciptor & set wrap bit if last descriptor */ > - if (i >= (GRETH_RXBD_CNT - 1)) { > + if (i >= (GRETH_TXBD_CNT - 1)) { ... and these seem to be unrelated bug fixes. These should go into a separate commit. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de A failure will not appear until a unit has passed final inspection. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot