[PATCH 5/5] macb: add timeout on send

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Wed Mar 7 04:21:02 EST 2012


On 09:29 Tue 06 Mar     , Sascha Hauer wrote:
> On Fri, Mar 02, 2012 at 07:20:10PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > This will ensure that we send an other packet only when the first one is send.
> > 
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > ---
> >  drivers/net/macb.c |    5 +++++
> >  1 files changed, 5 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/net/macb.c b/drivers/net/macb.c
> > index 9b54afa..3835dba 100644
> > --- a/drivers/net/macb.c
> > +++ b/drivers/net/macb.c
> > @@ -121,6 +121,11 @@ static int macb_send(struct eth_device *edev, void *packet,
> >  	barrier();
> >  	writel(MACB_BIT(TE) | MACB_BIT(RE) | MACB_BIT(TSTART), macb->regs + MACB_NCR);
> >  
> > +	wait_on_timeout(100 * MSECOND,
> > +		!(macb->tx_ring[0].ctrl & TXBUF_USED));
> 
> If you care for adding a timeout loop then you should also check
> the return value.
manage already in the source code

as we have the error storein ctrl field

Best Regards,
J.



More information about the barebox mailing list