Andy, On 4/19/2010 12:54 PM, Andy Fleming wrote: > When gracefully stopping the controller, the driver was continuing if > *either* RX or TX had stopped. We need to wait for both, or the > controller could get into an invalid state. > > Signed-off-by: Andy Fleming<aflem...@freescale.com> > --- > drivers/net/tsec.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c > index fd49eff..3e4c3bd 100644 > --- a/drivers/net/tsec.c > +++ b/drivers/net/tsec.c > @@ -1082,7 +1082,8 @@ static void tsec_halt(struct eth_device *dev) > regs->dmactrl&= ~(DMACTRL_GRS | DMACTRL_GTS); > regs->dmactrl |= (DMACTRL_GRS | DMACTRL_GTS); > > - while (!(regs->ievent& (IEVENT_GRSC | IEVENT_GTSC))) ; > + while ((regs->ievent& (IEVENT_GRSC | IEVENT_GTSC)) > + != (IEVENT_GRSC | IEVENT_GTSC)) ; > > regs->maccfg1&= ~(MACCFG1_TX_EN | MACCFG1_RX_EN); > > Applied to net repo.
thanks, Ben _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot