On Thu, Feb 21, 2013 at 10:21:13AM +0100, Hubert Feurstein wrote: > Signed-off-by: Hubert Feurstein <h.feurstein@xxxxxxxxx> > --- > drivers/net/fec_imx.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c > index 2378a19..6dfb093 100644 > --- a/drivers/net/fec_imx.c > +++ b/drivers/net/fec_imx.c > @@ -425,15 +425,20 @@ static int fec_open(struct eth_device *edev) > static void fec_halt(struct eth_device *dev) > { > struct fec_priv *fec = (struct fec_priv *)dev->priv; > - int counter = 0xffff; > + uint64_t tmo; > > /* issue graceful stop command to the FEC transmitter if necessary */ > writel(readl(fec->regs + FEC_X_CNTRL) | FEC_ECNTRL_RESET, > fec->regs + FEC_X_CNTRL); > > /* wait for graceful stop to register */ > - while ((counter--) && (!(readl(fec->regs + FEC_IEVENT) & FEC_IEVENT_GRA))) > - ; /* FIXME ensure time */ > + tmo = get_time_ns(); > + while (!(readl(fec->regs + FEC_IEVENT) & FEC_IEVENT_GRA)) { > + if (is_timeout(tmo, 1 * SECOND)) { > + printf("graceful stop timeout\n"); dev_err please. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox