Messages in this thread | | | Date | Thu, 04 Aug 2011 09:58:45 +0100 | From | Nicolas Ferre <> | Subject | Re: [PATCH] macb: restore wrap bit when performing underrun cleanup |
| |
On 08/04/2011 09:11 AM, Tord Andersson wrote: > When TX underrun occurs, a cleanup is performed that marks all buffers as used. As a side effect it also clears the wrap bit in the last buffer. This patch will restore the wrap bit. > > Signed-off-by: Tord Andersson<tord.andersson@endian.se>
Thanks for fixing this.
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> --- > drivers/net/macb.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/macb.c b/drivers/net/macb.c > index 0fcdc25..dc4e305 100644 > --- a/drivers/net/macb.c > +++ b/drivers/net/macb.c > @@ -322,6 +322,9 @@ static void macb_tx(struct macb *bp) > for (i = 0; i< TX_RING_SIZE; i++) > bp->tx_ring[i].ctrl = MACB_BIT(TX_USED); > > + /* Add wrap bit */ > + bp->tx_ring[TX_RING_SIZE - 1].ctrl |= MACB_BIT(TX_WRAP); > + > /* free transmit buffer in upper layer*/ > for (tail = bp->tx_tail; tail != head; tail = NEXT_TX(tail)) { > struct ring_info *rp =&bp->tx_skb[tail];
-- Nicolas Ferre
| |